我想用两件事来过滤这篇文章。
由当前登录用户执行通过文章中的元数据(disc\\u id)注意:“disc\\u id”的值是发布它的自定义帖子类型中帖子id的副本。立柱将使用重力模板在前端创建。因此,我们假设表单附加到一个post ID为7020的页面。发布帖子时,“disc\\u id”的元值为7020。我想做的是过滤所有具有该特定值的帖子。
我已经成功地完成了第一部分的工作,它显示了当前用户的帖子,但没有完成第二部分,即基于元数据的帖子。请查看下面的代码,有人能告诉我可能的解决方法吗?我将不胜感激。非常感谢。
function fl_builder_loop_query_args_filter( $query_args ) {
if ( \'dis_board\' == $query_args[\'settings\']->id ) {
$query_args[\'post_type\'] = array( \'discussion_board\');
$query_args[\'author\'] = get_current_user_id();
}
return $query_args;
}
add_filter( \'fl_builder_loop_query_args\', \'fl_builder_loop_query_args_filter\' );
最合适的回答,由SO网友:Antti Koskinen 整理而成
我假设fl_builder_loop_query_args
hook来自Beaver Builder,这意味着$query_args
是args
传递给WP_Query
. source
那样的话你可以推一些custom field parameters 到$query_args
获取所有具有匹配元值的帖子。
我想应该是这样的,
function fl_builder_loop_query_args_filter( $query_args ) {
if ( \'dis_board\' == $query_args[\'settings\']->id ) {
$query_args[\'post_type\'] = array( \'discussion_board\');
$query_args[\'author\'] = get_current_user_id();
$query_args[\'meta_key\'] = \'disc_id\'; // the assigned meta key
$query_args[\'meta_value_num\'] = 7020; // value we\'re looking for
}
return $query_args;
}
add_filter( \'fl_builder_loop_query_args\', \'fl_builder_loop_query_args_filter\' );
可以测试一下这个,看看它是否能按你想要的方式工作吗?