我试图制作一个自定义帖子类型的列表,该列表将显示所有帖子,但仅当作者包含名为“activeacc”的自定义用户元时。
所以我有密码。。。
$args = array(
\'post_type\' => \'property\',
\'post_status\' => \'publish\'
);
$your_query = new WP_Query( $args );
while ( $your_query->have_posts() ) {
$your_query->the_post();
$the_title = get_the_title(); // variable $the_title now holds your title
}
是否可以将作者是否包含自定义用户元“activeacc”添加到此$args中?如果没有,则不显示此帖子(即使它们具有“发布”状态)?
SO网友:vguerrero
你可以分两步接近。首先获取所有符合条件的用户
$user_ids = get_users([
\'meta_key\' => \'activeacc\',
\'meta_value\' => true, // or whatever value you are storing
\'fields\' => \'ID\',
]);
然后运行
WP_Query
仅针对这些用户
$properties = new WP_Query([
\'post_type\' => \'property\',
\'author__in\' => $user_ids,
]);
无需设置
post_status => \'publish\'
因为这是默认值。
也可以在一个查询中使用posts_clauses
过滤器,但我不会在这里开发它。
看见https://developer.wordpress.org/reference/classes/wp_user_query/prepare_query/ 对于的所有可用参数get_users
.