2013-05-03 86 views
3

我使用wordpress,并希望将两行代码添加到一个页面的标题中。Wordpress-如何只为特定页面的标题插入代码?

问题是,header.php将改变所有网站的标题,我希望它只改变一个特定页面的标题。

我想这样做的唯一的事情就是增加这个1号线:

<META name="robots" content="noindex, nofollow"/> 
+0

WP全局变量'$ pagename'应该可用。 '$ pagename'在函数'get_page_template()'内部的'wp-includes/theme.php'文件中定义,当然在页面主题文件被解析之前调用它,所以它在任何点都可用在您的页面模板中。 – naththedeveloper 2013-05-03 07:07:01

回答

1

只是修正FDL的答案,可以使用这样的:

global $post; 
if($post->post_type == 'page' && $post->ID == 'yourid'){ 
    echo '<meta name="robots" content="noindex, nofollow" />'; 
} 
6

你只需添加您的pageid你这样的头文件

global $post; 
if($post->post_type == 'page' && $post->ID == 'whatever page id'){ 
    echo '<meta name="robots" content="noindex, nofollow" />'; 
} 

它只会显示你想要的特定页面上的元。

假设我们只添加pageid =='5',它将在页面ID ='5'中显示元标记。

7

如果你想为某个页面使用不同的头文件,你需要从FTP下载你的header.php文件,将它重命名为header-new.php(用你想要的替换“new”),重新上传头文件-new.php到您原始标题的相同目录。 - 在页面模板,你希望新的头出现在

取代:

<?php get_header(); ?> 

<?php get_header('new'); ?> 

,现在你的新的头将显示只在特定的页面模板

0

Custom Fields是一种很好的方式,可让您获得页面特定的元数据,您可以在模板文件中创建逻辑。 Codex链接提供了很好的例子。

0
<?php global $post; ?> 
<?php if(is_page('pagename')){ ?> 
     <meta name="robots" content="noindex, nofollow" /> 
<?php } ?> 
0

有一个插件可以完成所要求的事情。
HiFi (Head Injection, Foot Injection)

有一个通知,“这个插件还没有超过2年....更新”,但我只是测试它在WP 3.5.2 - 它的工作原理。

-1
<?php if (is_home()) { ?> 
    <META name="robots" content="noindex, nofollow"/> 
<?php } ?> 

这段代码把元只为主页,你可以使用is_single,is_archive,is_404等

0

更简单的,非编码解决方案,改变了机器人在每个页面的基础meta标签是通过使用Yoast SEO插件。 https://yoast.com/wordpress/plugins/seo/ 您可以将个别页面(例如表单感谢页面)设置为noindex,如果您喜欢,也可以设置为nofollow。如果您还使用Yoast生成站点地图,那么您可以在不对其进行索引的同时将该页面从站点地图中排除,这将防止Search Console中的错误。

如果你想有一些其他的标签或深奥的语法增加了,那么你可以使用逐页添加到文档头插件 https://wordpress.org/plugins/per-page-add-to/ 这将让你成为关于哪个网页,其代码非常精细的能力。

相关问题