sql >> Databáze >  >> RDS >> Mysql

Jak mohu zkombinovat tyto dva vyhledávací dotazy ve Wordpressu?

Předpokládám, že ve smyčce budete používat argumenty.

Smyčku můžete použít k přidání všech vrácených post_id do pole. Můžete spustit dvě samostatné smyčky a přidat všechny položky do pole. Museli byste zkontrolovat dvojité záznamy, abyste nakonec nevytiskli stejný příspěvek dvakrát.

Takže byste udělali něco jako-

//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. SQLException:Porušení protokolu. Problém s ovladačem Oracle JDBC

  2. PHP trvá spuštění dotazu 90x déle než klient MySQL

  3. Připojte se k poddotazu s doktrínou 2 DBAL

  4. Použití proměnné periody v intervalu v Postgresu