Wordpress: WP_Query, как применить критерии поиска с пользовательским типом записи - PullRequest
6 голосов
/ 02 декабря 2011

У меня есть пользовательский тип записи, photo, и мне нужно найти фотографии, соответствующие названию или описанию по ключевому слову для поиска по различным критериям: содержит LIKE %$search_term%, начинается с LIKE $search_term% и т. Д. У меня есть следующий запрос , но это не фильтрует записи в соответствии с $search_term. Пожалуйста, направьте меня в правильном направлении, чтобы вставить это требование в этот запрос.

$search_term = $_GET['term'];
$search_criteria = $_GET['type'];

$loop = new WP_Query( array(
    'post_type' => 'photo',
    'posts_per_page' => 12,
    'orderby'=> 'post_date'
));

Пожалуйста, будьте милы со мной, я новичок в Wordpress и даже не знаю, задаю ли я глупый вопрос. Но я действительно застрял с этим и нуждаюсь в решении. Любая помощь будет оценена по достоинству. Спасибо всем.

Ответы [ 2 ]

10 голосов
/ 03 июля 2012

Добавьте ключ "s" в существующий массив аргументов:

$loop = new WP_Query( array(
    'post_type' => 'photo',
    'posts_per_page' => 12,
    'orderby' => 'post_date',
    's' => 'search_term'
));

Документацию можно найти по адресу: http://codex.wordpress.org/Class_Reference/WP_Query#Search_Parameter

1 голос
/ 31 мая 2017

Передайте строку поиска здесь, например, вот так ('s' => 'test')

 <?php

 /*pass your search string here example like this ( 's'=>'test' ) */
 $args=array('s'=>'test','order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page'));

   $query=new WP_Query($args);

  if( $query->have_posts()): 

  while( $query->have_posts()): $query->the_post();

 {
   echo $post->post_title;
   echo $post->post_content;
 }

 endwhile; 
 else:
 endif;

 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...