我使用wordpress,并希望将两行代码添加到一个页面的标题中。Wordpress-如何只为特定页面的标题插入代码?
问题是,header.php将改变所有网站的标题,我希望它只改变一个特定页面的标题。
我想这样做的唯一的事情就是增加这个1号线:
<META name="robots" content="noindex, nofollow"/>
我使用wordpress,并希望将两行代码添加到一个页面的标题中。Wordpress-如何只为特定页面的标题插入代码?
问题是,header.php将改变所有网站的标题,我希望它只改变一个特定页面的标题。
我想这样做的唯一的事情就是增加这个1号线:
<META name="robots" content="noindex, nofollow"/>
只是修正FDL的答案,可以使用这样的:
global $post;
if($post->post_type == 'page' && $post->ID == 'yourid'){
echo '<meta name="robots" content="noindex, nofollow" />';
}
你只需添加您的pageid你这样的头文件
global $post;
if($post->post_type == 'page' && $post->ID == 'whatever page id'){
echo '<meta name="robots" content="noindex, nofollow" />';
}
它只会显示你想要的特定页面上的元。
假设我们只添加pageid =='5',它将在页面ID ='5'中显示元标记。
如果你想为某个页面使用不同的头文件,你需要从FTP下载你的header.php文件,将它重命名为header-new.php(用你想要的替换“new”),重新上传头文件-new.php到您原始标题的相同目录。 - 在页面模板,你希望新的头出现在
取代:
<?php get_header(); ?>
与
<?php get_header('new'); ?>
,现在你的新的头将显示只在特定的页面模板
Custom Fields是一种很好的方式,可让您获得页面特定的元数据,您可以在模板文件中创建逻辑。 Codex链接提供了很好的例子。
<?php global $post; ?>
<?php if(is_page('pagename')){ ?>
<meta name="robots" content="noindex, nofollow" />
<?php } ?>
有一个插件可以完成所要求的事情。
HiFi (Head Injection, Foot Injection)
有一个通知,“这个插件还没有超过2年....更新”,但我只是测试它在WP 3.5.2 - 它的工作原理。
<?php if (is_home()) { ?>
<META name="robots" content="noindex, nofollow"/>
<?php } ?>
这段代码把元只为主页,你可以使用is_single,is_archive,is_404等
更简单的,非编码解决方案,改变了机器人在每个页面的基础meta标签是通过使用Yoast SEO插件。 https://yoast.com/wordpress/plugins/seo/ 您可以将个别页面(例如表单感谢页面)设置为noindex,如果您喜欢,也可以设置为nofollow。如果您还使用Yoast生成站点地图,那么您可以在不对其进行索引的同时将该页面从站点地图中排除,这将防止Search Console中的错误。
如果你想有一些其他的标签或深奥的语法增加了,那么你可以使用逐页添加到文档头插件 https://wordpress.org/plugins/per-page-add-to/ 这将让你成为关于哪个网页,其代码非常精细的能力。
WP全局变量'$ pagename'应该可用。 '$ pagename'在函数'get_page_template()'内部的'wp-includes/theme.php'文件中定义,当然在页面主题文件被解析之前调用它,所以它在任何点都可用在您的页面模板中。 – naththedeveloper 2013-05-03 07:07:01