sql >> データベース >  >> RDS >> Mysql

これら2つのWordpress検索クエリを組み合わせるにはどうすればよいですか?

    ループでargsを使用することを想定しています。

    ループを使用して、返されたすべてのpost_idを配列に追加できます。 2つの別々のループを実行し、すべてのエントリを配列に追加できます。二重エントリをチェックする必要があるため、同じ投稿を2回印刷することはありません。

    だからあなたは次のようなことをするでしょう-

    //First loop    
    $args = array(
        'post_type'             => 'product',
        'post_status'           => 'publish',
        'ignore_sticky_posts'   => 1,
        'orderby'               => $ordering_args['orderby'],
        'order'                 => $ordering_args['order'],
        'posts_per_page'        => apply_filters('yith_wcas_ajax_search_products_posts_per_page', get_option('yith_wcas_posts_per_page')),
        'meta_query'            => array(
            array(
                'key'           => '_visibility',
                'value'         => array('catalog', 'visible'),
                'compare'       => 'IN'
            ),
        )
    );
    while ( $loop->have_posts() ) : $loop->the_post();
        $post_id = get_the_ID();
        $my_post = my_post_function($post_id);
        //Store the items in an array
        $my_post_array [] = $my_post;
        query_posts($args); 
        endwhile;
    
     //Second loop 
      $args = array(
        'post_type'             => 'product',
        'post_status'           => 'publish',
        'ignore_sticky_posts'   => 1,
        'orderby'               => $ordering_args['orderby'],
        'order'                 => $ordering_args['order'],
        'posts_per_page'        => apply_filters('yith_wcas_ajax_search_products_posts_per_page', get_option('yith_wcas_posts_per_page')),
        'meta_query'            => array(
         array(
            'key'           => '_sku',
            'value'         => apply_filters('yith_wcas_ajax_search_products_search_query', $search_keyword),
            'compare'       => 'LIKE'
        )
        )
    );
    while ( $loop->have_posts() ) : $loop->the_post();
        $post_id = get_the_ID();
        $my_post = my_post_function($post_id);
        //Store the items in an array
        $my_post_array [] = $my_post;
        query_posts($args); 
        endwhile;
    
    //Remove duplicate entries from the array
    array_unique ( $my_post_array, SORT_STRING );
    



    1. MySQL-テーブルのすべての列でLIKEを使用することは可能ですか?

    2. pl/sql配列の戻り値をJavaでフェッチする

    3. Hibernate mysql innodb

    4. PostgreSQLで月ごとにグループ化する方法