0

提前感谢您的回答。我正在为我在这里找到的唯一代码而苦苦挣扎,我正在尝试在我的 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);

    }


}
4

0 回答 0