如何使用php回显头部中的meta标签

时间:2015-05-30 作者:nisr

我需要在标题中显示一个元标记,用于单数自定义帖子类型“通信”,如下所示:

<meta name="citation_title" content="single post title is here" />
我尝试使用此代码:

<?php if ( is_singular( \'communications\' ) ) {
        echo \'<meta name="citation_title" content="\' . the_title( \'\', \'\' ).\'" />\' . \'\';
} ?>
但结果是在元之前有了一个标题:

single post title is here<meta name="citation_title" content="" />
有什么帮助吗?

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

使用the_title_attribute() 打印属性。帖子标题可能包含HTML,因此您需要该函数返回的转义内容
还禁止立即打印,因为这会将输出设置在echo 陈述

if ( is_singular( \'communications\' ) ) {
    $title = the_title_attribute( [ \'echo\' => FALSE ] );
    echo \'<meta name="citation_title" content="\' . $title . \'" />\' . PHP_EOL;
}
另一个问题是,为什么你的主题对帖子类型了解这么多。Custom post types should always be registered in a plugin. 所以代码也应该转到插件。结果是这样的:

add_action( \'wp_head\', \'add_citation_title\' );

function add_citation_title() {

    if ( ! is_singular( \'communications\' ) )
        return;

    $title = the_title_attribute( [ \'echo\' => FALSE ] );
    echo \'<meta name="citation_title" content="\' . $title . \'" />\' . PHP_EOL;
}

结束

相关推荐

HTAccess旧的php页面到新的WordPress页面

我正在重新设计一个网站并转换为wordpress。我想将旧页面重定向到新页面。此外,wordpress安装在一个目录中,但可以像在根目录中一样查看。所以下面的htaccess实际上是可行的,但我想更改顶行,以便它捕获根目录中的所有页面,并将它们重定向到正确的位置# CHANGE THIS LINE TO CATCH ALL PAGES Redirect 302 /PAGENAME.php http://www.example.com/PAGENAME # BEGIN WordPr