WordPress禁止通过文章ID动态链接方式访问

张子凡 WordPress 9个月前 (10-24) 阅读(3757) 评论(7)

如果你的WordPress网站已经开启伪静态,可能就不需要让WordPress继续通过/?p=postid这样的方式在访问,虽然WordPress开启伪静态后会自动跳转到新的地址上面,但是对于像子凡这样有强迫症的人来说,这一点就绝对不能忍受,因为搜索引擎它始终有时候会调皮的收录这样的动态地址,看上去就是让人非常的不爽,所以子凡才又开始折腾了,其实都算不上折腾,真的是so easy!

WordPress禁止通过文章ID动态链接方式访问

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

1
2
3
4
5
6
7
8
9
10
11
//禁止WordPress动态文章ID访问
//last update 2016/11/07
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;
	}
}

是不是非常简单啊?哈哈哈。。。

除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

本文链接:https://zhangzifan.com/disable-permalink-isvars-p.html

发表评论

  1. 烟雨红尘
    1楼
    烟雨红尘 9个月前 (11-04)

    博主,能不能写一个禁止/?id=访问的!现在收录了好多,不知道怎么办!

    • 张子凡
      回复
      张子凡 9个月前 (11-04)
      回复 @烟雨红尘 :就是这个方法就是禁止?id=方式访问的,前提是网站没有使用动态固定链接
  2. 匿名
    2楼
    匿名 9个月前 (10-24)

    学习带来乐趣,谢谢博主!

  3. 青梅历史网
    3楼
    青梅历史网 9个月前 (10-24)

    wd现在用的人还是挺多的,博主这个很实用,有些人根本注意不到

    • 张子凡
      回复
      张子凡 9个月前 (10-24)
      回复 @青梅历史网 :既然选择了使用伪静态,动态的就让它消失吧
  4. 文栋说自媒体
    4楼
    文栋说自媒体 9个月前 (10-24)

    沙发是我的……

    • 张子凡
      回复
      张子凡 9个月前 (10-24)
      回复 @文栋说自媒体 :沙发是你的