作者元标记中当前帖子的作者姓名

时间:2015-09-26 作者:AndrewL64

我正在尝试添加当前帖子的作者作为meta-author标签的内容。我用一个is_single 条件,然后尝试:

<meta name="author" content="<?php get_the_author(); ?>" />
并尝试了以下方法:

<meta name="author" content="<?php the_author(); ?>" />
对于上述两种情况,Facebook debugger 答复为:

Meta with name instead of property : 页面上的元标记是用名称“author”指定的,该名称与此对象类型的配置属性相匹配。除非使用meta property属性而不是meta name属性指定,否则将忽略它。

然后我试着:

<meta property="article:author" content="<?php the_author(); ?>" />
并尝试了以下方法:

<meta property="article:author" content="<?php get_the_author(); ?>" />
对于上述两种情况,Facebook debugger 答复为:

Parser Mismatched Metadata : 此元数据的分析器结果与输入元数据不匹配。这很可能是由于数据以意外的方式排序,为一个属性提供了多个值,而该属性只需要一个值,或者给定属性的属性值不匹配。以下是在解析结果中未看到的输入属性:“article:author”。

因为以上四个meta只返回一个空白内容,我做错了什么(<meta name="author" content/>) 对于author 标签

3 个回复
SO网友:coopersita

您可以通过以下方式添加functions.php 使用钩子,而不是在循环内部(您不想在header.php中添加循环):

function add_author_meta() {

    if (is_single()){
        global $post;
        $author = get_the_author_meta(\'user_nicename\', $post->post_author);
        echo "<meta name=\\"author\\" content=\\"$author\\">";
    }
}
add_action( \'wp_enqueue_scripts\', \'add_author_meta\' );

SO网友:Harkály Gergő

将其添加到标题中。php

<meta name="author" content="<?php the_author_meta(\'user_nicename\', $post->post_author); ?>">

SO网友:Rajnish Suvagiya

您可以使用添加元标记wp_head 挂钩操作来自functions.php 或创建自定义插件。

这里您可以查看示例。

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

function fc_opengraph() {


  if ( is_single() || is_page() ) {

    $post_id = get_queried_object_id(); // get current post id

    $author_name = \'set your author name\';

    $site_name = get_bloginfo(\'name\');

    $description = wp_trim_words( get_post_field(\'post_content\', $post_id), 25 );

    $image = get_the_post_thumbnail_url($post_id);

    if( !empty( get_post_meta($post_id, \'og_image\', true) ) ) $image = get_post_meta($post_id, \'og_image\', true);

    $locale = get_locale();

    echo \'<meta property="og:locale" content="\' . esc_attr($locale) . \'" />\';
    echo \'<meta property="og:type" content="article" />\';
    echo \'<meta property="author" content="\' . esc_attr($author_name) . \'" />\';
    echo \'<meta property="og:description" content="\' . esc_attr($description) . \'" />\';
    echo \'<meta property="og:url" content="\' . esc_url($url) . \'" />\';
    echo \'<meta property="og:site_name" content="\' . esc_attr($site_name) . \'" />\';

    if($image) echo \'<meta property="og:image" content="\' . esc_url($image) . \'" />\';

  }

}
请检查此url以获取挂钩文档:https://developer.wordpress.org/reference/hooks/wp_head/

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请