Intereting Posts
Программно добавление изображений в медиа-библиотеку с помощью wp_generate_attachment_metadata случайным образом не выполняется Страница связанных ссылок с модерируемыми, предложенными пользователем ссылками Возможная ошибка: update_user_meta обновляет две уникальные мета-записи Добавление нескольких wp_register_scripts для шаблонов в WordPres? WordPress DB: options-table -> 32 gzipcompression? Лучшие практики для регрессионного тестирования сайтов WordPress? Форма отправки переднего конца с плагином формы jquery Я написал свой плагин. Как отобразить результат функции плагина на боковой панели (виджет?)? Как создать измененные версии изображений, добавленных с помощью wp_insert_attachment Автоматическое создание пользовательского заголовка сообщения на основе мета Изменение виджетов WordPress Как пакетно обновлять содержимое сообщения с помощью специального метаданного сообщения Кнопка предварительного просмотра показать короткие коды в редакторе wp_remote_get не работает с безопасными подключениями https?

Как создать пользовательский запрос по ключевым словам в заголовке сообщения?

Мне нужна помощь по пользовательскому запросу по ключевому слову.

Я отправляю ключевое слово на свою страницу, где я хотел бы перечислить те сообщения, в которых post_title содержит ключевое слово, которое я отправил.

Вот мой запрос:

$q = 'SELECT guid, post_content, post_title, post_parent, post_type FROM wp_posts WHERE (post_title REGEXP '".$keyword."') AND post_type="attachment"'; 

Как можно реализовать его в WordPress и заставить его работать?

Я видел много снайперов, но мне очень сложно заставить его работать.

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

 global $wpdb; // If you use a custom search form $keyword = sanitize_text_field( $_REQUEST['mykey'] ); // If you use default WordPress search form // $keyword = get_search_query(); $keyword = "%{$keyword}%"; // Search in all custom fields $post_ids_meta = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT post_id FROM {$wpdb->postmeta} WHERE meta_value LIKE '%s' ", $keyword ) ); // Search in post_title and post_content $post_ids_post = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT ID FROM {$wpdb->posts} WHERE post_title LIKE '%s' OR post_content LIKE '%s' ", $keyword, $keyword ) ); $post_ids = array_merge( $post_ids_meta, $post_ids_post ); // Query arguments $args = array( 'post_type' => 'post', 'post_status' => 'publish', 'post__in' => $post_ids, ); $query = new WP_Query( $args ); if ( $query->have_posts() ): while ( $query->have_posts() ) : $query->the_post(); // Do loop here endwhile; endif; 

Solutions Collecting From Web of "Как создать пользовательский запрос по ключевым словам в заголовке сообщения?"

В Codex есть довольно обширная статья об этом – Отображение сообщений с помощью запроса пользовательского выбора .

В двух словах:

 // retrieve posts using our custom SQL (note that you should query * rather than pick fields) $posts = $wpdb->get_results($query, OBJECT); // this is global variable that WP functions rely on for output global $post; // loop foreach($posts as $post) { // get global stuff filled current post setup_postdata($post); // use template tags and profit the_title(); } // cleanup after ourselves wp_reset_postdata(); 

Вы можете запросить сообщение с таким ключевым словом;

 <?php // Post Query $args=array( 's' => $keyword, ); ?> <?php query_posts($args); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?>