在我的主题选项中,我允许用户为404模板设置页面。 (这意味着他们可以创建任何普通页面并选择该页面作为404模板)。为此,我使用wp_dropdown_pages()
添加了页面下拉列表。
现在我希望echo noindex,nofollow
元值到用户为明显的SEO原因选择的页面。我试过这个,但它不起作用。
function noindex_404(){
global $post;
$option = $_POST['404_id'];
// $post_val = '2';
if ($post->ID == $option){
//if ($post->ID == $post_val)
// if I try with the direct post value, it's working
echo '<meta name="robots" content="noindex,nofollow">';
}
}
add_action('wp_head', 'noindex_404', 1);
以下是由wp_dropdown_pages()
创建的HTML,并且在404_id
的选项名称下选择了第2页,其中选项值为 2
<select name="404_id" id="404">
<option value="1">Page 1</option>
<option value="2" selected="selected">Page 2</option>
<option value="3">Page 3</option>
<option value="4">Page 4</option>
<option value="5">Page 5</option>
</select>
答案 0 :(得分:0)
您可以使用此条件检查您的404页面。
if ( is_404() ) {
echo '<meta name="robots" content="noindex,nofollow">';
}
在这种情况下,您不受任何特定页面的约束。什么页面用于404这个功能将检查它是否是404页面然后你的代码将回显,否则不会。 干杯!