我使用 wordpress,并且只想将 2 行代码添加到一页的标题中。
问题是 header.php 将更改所有站点的标题,我希望它只更改一个特定页面的标题。
我唯一想做的就是添加这 1 行:
<META name="robots" content="noindex, nofollow"/>
你必须像这样在你的头文件中添加你的pageid
global $post;
if($post->post_type == 'page' && $post->ID == page_int){
echo '<meta name="robots" content="noindex, nofollow" />';
}
它只会在您想要的特定页面上显示元数据。
假设您只想输出 ID = 5 的页面的代码,设置page_int
为5
. 这是一个整数,所以不要在它周围使用单引号。
如果您想为某个页面设置不同的标题,您需要从 FTP 下载 header.php,将其重命名为 header-new.php(将“new”替换为您想要的任何内容),重新上传 header-new.php到与原始标题相同的目录。- 在您希望新页眉显示的页面模板上
代替:
<?php get_header(); ?>
和
<?php get_header('new'); ?>
现在您的新标题将仅显示在该特定页面模板上
只是纠正 FDL 的答案,使用这个:
global $post;
if($post->post_type == 'page' && $post->ID == 'yourid'){
echo '<meta name="robots" content="noindex, nofollow" />';
}
<?php global $post; ?>
<?php if(is_page('pagename')){ ?>
<meta name="robots" content="noindex, nofollow" />
<?php } ?>
有一个插件可以完成所要求的事情。
HiFi(头注、足注)
有一个“这个插件已经超过 2 年没有更新了......”的通知,但我刚刚在 WP 3.5.2 上对其进行了测试——它可以工作。
自定义字段是一种很好的方式,可以让您拥有可以在模板文件中创建逻辑的页面特定元数据。Codex 链接给出了很好的例子。
试试这个:
if (is_page('page_slug') { ?>
<META name="robots" content="noindex, nofollow"/>
<?php }
您可以在此处查看参考:https ://developer.wordpress.org/reference/functions/is_page/
这对我有用。我觉得我不需要获取帖子类型。我只需要身份证。
<?php
$post = get_post();
if ( $post->ID == 1234 ){
echo '<!-- Point to the AMP version of this page. -->';
echo '<link rel="amphtml" href="/amp/amp-story">';
}
?>
这对我来说不起作用,如Codex ( https://developer.wordpress.org/reference/functions/is_page/ ) 中的规定。
is_page( 1234 )
一个更简单的非编码解决方案是使用 Yoast SEO 插件来更改每页的机器人元标记。 https://yoast.com/wordpress/plugins/seo/ 您可以将单个页面(例如表单感谢页面)设置为 noindex,如果您愿意,甚至可以设置为 nofollow。如果您也使用 Yoast 来生成站点地图,那么您可以在不为其编制索引的同时将该页面从站点地图中排除,这将防止 Search Console 中出现错误。
如果您希望能够添加一些其他标签或深奥的语法,那么您可以使用 Per Page Add to Head 插件 https://wordpress.org/plugins/per-page-add-to/ 这将允许您非常详细地了解哪个页面获取哪个代码。
<?php if (is_home()) { ?>
<META name="robots" content="noindex, nofollow"/>
<?php } ?>
此代码将只为主页放置元数据,您可以使用 is_single、is_archive、is_404 等。