提前感谢您的回答。我正在为我在这里找到的唯一代码而苦苦挣扎,我正在尝试在我的 wordpress 管理帖子列表中进行设置。我想为两个标准设置过滤器 - 发布订单状态和发布订单类型。但是,过滤器仅显示和读取过滤器。你能帮助我并告诉我哪里错了吗?非常感谢。
add_filter( 'parse_query', 'app_posts_filter' );
function app_posts_filter( $query ){
global $pagenow;
$type = 'post';
if (isset($_GET['post_type'])) {
$type = $_GET['post_type'];
if ( 'app_order' == $type && is_admin() && $pagenow=='edit.php') {
$queryParamsCounter = 0;
if (isset( $_GET['app_order_type'] ) && $_GET['app_order_type'] != '')
{
$app_order_type = (int)$_GET['app_order_type'];
$queryParamsCounter++;
}
if (isset( $_GET['app_order_status'] ) && $_GET['app_order_status'] != '')
{
$queryParamsCounter++;
$app_order_status = $_GET['app_order_status'];
}
$meta_query = array();
if ($queryParamsCounter > 1) {
$meta_query['relation'] = 'AND';
}
if (isset($app_order_status)) {
$meta_query[] = array(
'key' => 'app_order_status',
'value' => $app_order_status,
'compare' => '=',
'type'=>'CHAR',
);
}
if (isset($app_order_type)) {
$meta_query[] = array(
'key' => 'app_order_type',
'value' => $app_order_type,
'compare' => '=',
'type' => 'CHAR',
);
}
$query->set( 'meta_query', $meta_query);
}
}