Множественный мета-ключ в поиске

У меня есть плагин wordpress, который будет искать результаты поиска студентов из базы данных. ИФ введите номер рулона. Он отобразит результат. Теперь я хотел бы изменить это, как если бы я ввел номер мобильного телефона студента, он также должен показать результат. Код ниже

enter // ResultPress search function function result_press_search() { if ( ! isset( $_POST['search'] ) ) exit; query_posts( array( 'posts_per_page' => 1, 'no_found_rows' => true, 'post_type' => 'rrf-result', 'meta_key' => 'roll', 'meta_value' => wp_unslash( ( string ) $_POST['search'] ), 'rrf_result_year' => wp_unslash( ( string ) $_POST['result_year'] ), ) ); include_once( 'templates/marksheet-theme-1.php' ); exit; } 

Solutions Collecting From Web of "Множественный мета-ключ в поиске"

Вам нужно будет переключаться между использованием query_posts (не рекомендуется) с использованием WP_Query .

Использование WP Query похоже на query_posts, вы передадите массив аргументов и включите args meta_query. Что-то вроде:

 $args = array( 'posts_per_page' => 1, 'no_found_rows' => true, 'post_type' => 'rrf-result', 'rrf_result_year' => wp_unslash( ( string ) $_POST['result_year'] ), 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'roll', 'value' => wp_unslash( ( string ) $_POST['search'] ), ), array( 'key' => 'info_3', 'value' => wp_unslash( ( string ) $_POST['search'] ) ) ) ); $results = new WP_Query($args); 

Если у вас есть какие-либо результаты, вы можете получить к ним доступ путем ручного циклирования через $results->posts или с помощью методов wordpress:

 if($results->have_posts()): while($results->have_posts(): $results->the_post(); // do something here endwhile; endif; конечных if($results->have_posts()): while($results->have_posts(): $results->the_post(); // do something here endwhile; endif; в if($results->have_posts()): while($results->have_posts(): $results->the_post(); // do something here endwhile; endif; конкретные if($results->have_posts()): while($results->have_posts(): $results->the_post(); // do something here endwhile; endif; конечных if($results->have_posts()): while($results->have_posts(): $results->the_post(); // do something here endwhile; endif; 

В вашем случае я не знаю точно, что вам нужно, потому что вы включаете еще одну часть шаблона, и я не знаю, что в ней. Я также не уверен, что плагин, который вы используете, каким-либо образом изменяет запрос.