是否保证对GET_POST_META中的多个值进行排序?

时间:2017-10-10 作者:Flimm

可以在中创建多行postmeta 具有相同键的帖子的表,如下所示:

add_post_meta( $post_id, "example_key", "value1" );
add_post_meta( $post_id, "example_key", "value2" );
要检索这些值,可以使用get_post_meta, 将返回一个数组:

$rv = get_post_meta( $post_id, "example_key" );
// $rv is array( "value1", "value2" )
生成的数组是否保证可以订购?这些值的顺序是什么?按字母顺序还是插入日期?

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

Yes.

get_post_meta() 使用get_metadata() 反过来使用update_meta_cache() 检索值。在source code 我们看到这一部分(我的评论)

// $id_column is \'meta_id\'
$meta_list = $wpdb->get_results( "SELECT $column, meta_key, meta_value FROM $table WHERE $column IN ($id_list) ORDER BY $id_column ASC", ARRAY_A );
因此,元数据将按meta_id 按升序排列。正如Jacob Peattie在评论中指出的,这意味着ordered by the date they were added.

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在