WordPress禁止通过文章ID动态链接方式“?p=id”访问

 2019-12-6 12:02   评论   354
摘要

虽然 WordPress 开启伪静态后会自动跳转到新的地址上面,但是如何从根源上禁止 WordPress 继续通过/?p=postid 这样的方式在访问文章页面呢?


如果你的 WordPress 网站已经开启伪静态,可能就不需要让 WordPress 继续通过/?p=postid 这样的方式在访问。

虽然 WordPress 开启伪静态后会自动跳转到新的地址上面,但是对于某些有强迫症的人来说比如我,这一点就绝对不能忍受,因为搜索引擎它始终有时候会调皮的收录这样的动态地址。

wordpress禁止ID访问

通过把以下代码添加到当前主题的 functions.php 中即可实现

//禁止 WordPress 动态文章 ID 访问
//sokuzy.com/wpnopid.html
add_action('parse_query', 'disable_permalink_isvars_p');
function disable_permalink_isvars_p( $wp_query, $error = true ) {
if(get_query_var('p') && !is_preview()){
$wp_query->query_vars['p'] = false;
$wp_query->query['p'] = false;
// to error
if ( $error == true ) $wp_query->is_404 = true;
}
}

上方代码效果就是将?p=id的链接直接指向404页面,效果如下图:

PID404

免责声明:
1.本站所发布主题、插件、源码等仅限用于学习和研究测试使用,不得用于商业或非法用途,请下载后24小时内删除。
2.如果下载测试后满意喜欢,请前往购买支持正版,得到更好的正版服务。
3.本站资源售价仅为赞助网站运营,收取费用仅维持本站的日常运营所需。
4.部分资源仅进行了基本测试,无法保证所有资源的准确性、安全性和完整性。
5.本站自网络收集发布的非原创资源,不包含相关技术服务,请谅解。
6.本站所发布资源为非实物商品,不接受退款,请考虑好再购买,售后问题请联系客服QQ。

狩酷资源站 » WordPress禁止通过文章ID动态链接方式“?p=id”访问

发表评论

Don`t copy text!