如何在不使用过时的`wp_title()`函数的情况下编辑<title>标记?

时间:2017-07-24 作者:Ciprian

如何编辑标记而不使用不推荐的wp_title() 作用我需要添加一个微数据参数-itemprop="name" -, 如下例所示:

<head itemscope itemtype="http://schema.org/WebSite">
<title itemprop="name">Your WebSite Name</title>
<link rel="canonical" href="https://example.com/" itemprop="url">
使用主题支持注入。

Note 1: WordPress提供的所有自定义挂钩都只允许标题内容操作,而不允许标记本身。

Note 2: 这不是Custom attribute for the title tag with wp_title() 因为被接受的答案不再起作用了。

1 个回复
最合适的回答,由SO网友:Tim Elsass 整理而成

似乎输出标记的是\\u wp\\u render\\u title\\u tag()方法,下面提供了4.8中的源代码:https://core.trac.wordpress.org/browser/tags/4.8/src/wp-includes/general-template.php#L1083

您可以看到:

    echo \'<title>\' . wp_get_document_title() . \'</title>\' . "\\n";
您可以首先从wp\\U头中删除操作:

    remove_action( \'wp_head\', \'_wp_render_title_tag\', 1 );
然后添加自己的标题呈现方法:

    add_action( \'wp_head\', \'_wp_render_title_tag_itemprop\', 1 );

    function _wp_render_title_tag_itemprop() {
        if ( did_action( \'wp_head\' ) || doing_action( \'wp_head\' ) ) {     
            echo \'<title itemprop="name">\' . wp_get_document_title() . \'</title>\' . "\\n";
        }
    }

结束

相关推荐

Variables in post title

如何使我的帖子标题动态化?比如说,我想用这个标题发表一篇文章:今天是[日]/[月]/[年][日]应该被解析为php代码,该代码将检索当前日期,以及[月]和[年]的相同想法