我正在尝试添加当前帖子的作者作为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
标签
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/