我正在创建以下代码,以在我的单曲标题中显示打开的图形元数据。php页面
add_action(\'wp_head\', \'mycode_add_og_meta_tags\', 5);
function mycode_add_og_meta_tags () {
?>
<meta property="og:type" content="article"/>
<meta property="og:title" content="<?php the_title(); echo \' (\'; _e(\'Source:\', \'mydomain\'); the_author(); echo\')\'; ?>"/>
<meta property="og:description" content="<?php echo strip_tags(get_the_content(), \'<p>\'); ?>"/>
<?php if(has_post_thumbnail()) : ?>
<meta property="og:image" content="<?php the_post_thumbnail_url(\'single\') ?>"/>
<?php endif; ?>
<?php
}
然而,两者
the_author()
和
get_the_content()
不要返回任何数据;然而
the_title()
和
the_post_thumbnail_url()
一定要返回数据。
此外,在“身体”的单一。php文件,我能够检索上述所有信息。
我怀疑这与处于循环内部有关,所以我的问题是:
如果与循环无关,如何检索缺少的上述值?
如果我的方法不正确,因为我在循环外检索信息,那么:
标题和缩略图是怎么工作的?
如何在进入循环之前设置开放图元数据(og)?
谢谢。
最合适的回答,由SO网友:Gareth Gillman 整理而成
获取\\u内容和\\u作者必须处于循环中,因此需要使用其他函数来获取所需的内容
global $wp_query;
$post = $wp_query->post;
$page_id = $post->ID; // page ID
$page_object = get_page( $page_id ); // page stuff
$author_id = $post->post_author; // author ID
$page_content = $page_object->post_content;
$author_name = get_the_author_meta( \'display_name\', $author_id);