使用高级自定义字段插件,我创建了一个自定义字段(类型:用户,格式:数组)。 我正在尝试按用户 display_name 对帖子进行排序。
记录 ACF/wordpress 文档,这是使用的 args 数组:
array( 'post_status' => 'publish', 'post_type' => 'the_post_type', 'orderby' => 'meta_value', 'meta_key' => 'users', 'order' => "ASC" );
在这种情况下,结果是按用户“ID”而不是用户“display_name”排序的帖子。
我如何获得按“display_name”排序的帖子列表输出。
在使用带有用户数组字段的高级自定义字段插件时,要按用户的显示名称而不是 ID 对帖子进行排序,您需要修改查询参数。由于 ACF 中的用户字段将用户数据保存为数组,因此您需要指定子键 display_name 以按用户的显示名称排序。请尝试这个;
$args = array(
'post_status' => 'publish',
'post_type' => 'the_post_type',
'meta_query' => array(
array(
'key' => 'users', // Your ACF field key
'compare' => 'EXISTS',
),
),
'orderby' => 'meta_value', // Sort by meta value
'meta_key' => 'users_0_display_name', // Sub-key for display_name
'order' => 'ASC',
);
$the_query = new WP_Query($args);
确保将“users_0_display_name”替换为 ACF 字段中用户显示名称的正确子键。这应该按用户的显示名称升序对帖子进行排序。