使用yoast seo编辑wp_head中的标题标签

时间:2014-06-24 作者:Wombat

我想操纵html标题标记,所以<title> 这些不是标题标签的内容!

我使用子主题,这是不可避免的,因为模板必须易于更新。所以我必须使用这些函数。php或标头。子文件夹中的php。

目前,我尝试使用函数。php

目前我有以下情况:

<!-- Start WP_HEAD
================================================== -->

<!-- This site is optimized with the Yoast WordPress SEO plugin v1.5.3.3 - https://yoast.com/wordpress/plugins/seo/ -->
<title>My awesome title-content</title>
<meta name="robots" content="noindex,follow,noodp,noydir"/>
<link rel="canonical" href="WEBSITE" />
<meta property="og:locale" content="de_DE" />
我想了解以下情况:

重点是标题标签

<!-- Start WP_HEAD
================================================== -->

<!-- This site is optimized with the Yoast WordPress SEO plugin v1.5.3.3 - https://yoast.com/wordpress/plugins/seo/ -->
<title itemprop="name" id="company_name">My awesome title-content</title>
<meta name="robots" content="noindex,follow,noodp,noydir"/>
<link rel="canonical" href="WEBSITE" />
<meta property="og:locale" content="de_DE" />
我当前尝试的功能。子文件夹中的php是:

add_action(\'get_header\', \'blog_template_add_ob_start\');
add_action(\'wp_head\', \'blog_template_add_ob_end_flush\', 100);
function blog_template_add_ob_start() {
    ob_start(\'blog_template_add_filter_wp_head_output\');
}
function blog_template_add_ob_end_flush() {
    ob_end_flush();
}
function blog_template_add_filter_wp_head_output($output) {

    if (is_single()) {
        $output = preg_replace(\'/<title>(.*?) - (.*?)<\\/title>/\', \'<title><span itemprop="name" id="company_name">$2</span> &raquo; $1</title>\', $output);
        #$output = str_ireplace(\'<meta property="og:url" content="\' . $url . \'" />\', \'<meta     property="og:url" content="\' . esc_attr(esc_url($altUrl)) . \'" />\', $output);
    }
    return $output;
}
我的第一次尝试是:第一:

function add_itempromp_to_title( $str )
{
    #$str = preg_replace(\'/<title>(.*?) - (.*?)<\\/title>/\', \'<title><span itemprop="name" id="company_name">$2</span> &raquo; $1</title>\', $str);
    return $str;
}   
add_filter( \'wp_head\', \'add_itempromp_to_title\', 99 );
我试过这些:Manipulating wp_head content但这已经不起作用了。

有人有主意吗?

Yoast插件版本为1.5.3.3

WP版本为3.8.3

2 个回复
SO网友:Worduoso

我不认为添加<span itemprop><title> 是个好主意。。。如果无法使用任何现有标记,如<h1> 为此,您可以考虑添加meta 标签:<meta itemprop="name" content="Company Name">. 您可以使用wp\\u head添加它,但请记住它应该在itemscope.

如果你真的想改变title 标签,Yoast SEO有自己的过滤器“wpseo\\u title”,所以你需要称之为这个过滤器。

add_filter(\'wpseo_title\', \'filter_title\'); function filter_title($title) { // do something to the $title here return $title; }

SO网友:eyoung100

我仍然不知道您为什么试图通过head标记传递item属性。我有种直觉,你想告诉谷歌一个特定的项目。例如:

itemprop是棕色的鞋子,itemprop是红色的帽子。在每种情况下,你都想让谷歌知道你卖的是棕色的鞋子还是红色的帽子。

如果您在数据库中创建了一个wp\\U products表,并在该表中输入以下内容,那么这将更合适:

product\\u id-这将是主键product\\u desc-描述product\\u image-图像URL,URL Params, 通过product_id 字段到每页。在模板的标题部分添加:

<meta name="keywords" content="<? php echo $product_keywords; ?>"

由于PHP在呈现页面之前完成WP\\u查询,因此这是完全可以接受的。

结束

相关推荐