让代码更简单

WordPress禁用媒体附件页面

重要:本文最后更新于2023-08-02 13:50:13,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

今天打开Google AdSense合作规范中心,发现又出现了一篇违规内容,真的无语。果断给图片打上马赛克,提交审核,为了避免以前上传的套图被再次识别到,准备把wordpress的媒体附件页面给禁用了,不然每个媒体都有一个单独的页面,被发现了又要禁用我的广告。

将问题交给ChatGPT,分分钟给了我答案,简单检查了一下,发现没什么问题,上线体验了一下,感觉还不错,是我想要的效果。免费ChatGPT见文章:ChatGPT国内在线免费使用

复制
//WordPress禁用媒体附件页面
//https://www.daimadog.org/9771.html
function disable_media_attachment_page_404() {
    global $post;

    if (is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent != 0)) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        get_template_part(404);
        exit;
    }
}
add_action('template_redirect', 'disable_media_attachment_page_404');

还能让它解释代码

判断条件是:

  1. 当前页面是附件页面(is_attachment()为true)
  2. 存在父级文章(isset($post->post_parent)为true)
  3. 父级文章的ID是一个数字(is_numeric($post->post_parent)为true)
  4. 父级文章的ID不为0($post->post_parent != 0为true)

判断父级文章及其ID的目的是确保附件页面是作为附件附属于某篇具体的文章而存在的。附件页面通常是指与特定文章相关联的媒体文件(如图片、音频、视频等)的页面。如果附件页面没有父级文章或父级文章ID为0,那么可能意味着该附件页面是独立存在的,而不是作为附件附属于某篇具体的文章。因此,在这段代码中,通过判断父级文章及其ID,可以确保只有真正作为附件的页面才会被返回404错误页面。

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐