如何直接从$POST对象检索所有元数据?如$POST->Related_Themes?

时间:2019-10-31 作者:Brian

我设置了一个元字段related_topics 我用来联系的lesson topics 自定义帖子类型lesson.

我在这里读过

https://stackoverflow.com/questions/19640850/wordpress-how-to-return-meta-with-query-posts

您可以通过以下方式直接从post对象访问元字段$post->my_field.

对于给定的lesson 可能有几个相关的topics. 对于给定的lesson 有多个topics, 我注意到了$post->related_topics 仅返回第一个topic 例如,实际上有多个。有没有什么方法可以使用,比如$post->related_topics->all()? 如果使用此约定,即使存在集合,默认情况下也只返回一个项目?

谢谢Brian

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

通过调用$post->related\\u topics,可以使用对象的神奇功能(\\uu get和\\uu isset)

为了简单起见,幕后操作与以下操作相同:

get_post_meta( $post->ID, \'related_topics\', true );
所以您只是抽象了函数的用法get_post_meta. 如您所见,第三个参数被定义为TRUE。这告诉函数返回一个值。

因此,如果meta是单个值,则可以,但如果有多个值,则必须将第三个参数设置为false。因此,您不应该使用神奇的函数,而应该自己调用get\\u post\\u meta。

因此,只需使用:

$topics = get_post_meta( $post->ID, \'related_topics\', false);
就像你有一个值数组

相关推荐

Query posts only shows 1

我有一个ID数组:var_dump($userPostsInternal); -> string(13) \"128537,128545\" 那我会的$args = array( \'post__in\' => array($userPostsInternal), \'post_type\' => \'post\', \'posts_per_page\' => -1, ); $q = new WP