我想阻止特定页面在代码段中被wp索引。尝试了以下内容,但元数据并未出现在标题中
add_action( 'wp_head', function() {
if ($post->ID == 7407 || $post->ID == 7640 || $post->ID == 7660) {
echo '<meta name="robots" content="noindex, nofollow">';
}
} );
有什么想法吗?
答案 0 :(得分:0)
此处存在变量范围问题:除非您使用$post
关键字,否则global
对象在您的函数中将不可用。
add_action( 'wp_head', function() {
global $post;
if ($post->ID == 7407 || $post->ID == 7640 || $post->ID == 7660) {
echo '<meta name="robots" content="noindex, nofollow">';
}
} );
但是,$post
对象并非始终可用:仅在实际查看post
,page
或自定义帖子类型时设置。如果您尝试按原样使用此代码,则在未设置$post
时会抛出一些PHP警告,因此最好使用is_page()函数,因为该函数会检查您会自动:
add_action( 'wp_head', function() {
if (is_page(7407) || is_page(7640) || is_page(7660)) {
echo '<meta name="robots" content="noindex, nofollow">';
}
} );