Intereting Posts
Как получить класс из области виджетов Сортировка области администрирования по пользовательскому полю Дата события Кнопка внутри пользовательского метабокса, запускающая кнопку обновления Получить ссылку на Feed On Term или таксономию Как добавить jQuery Infinite Прокрутите страницу до Моего пользовательского архива Автоматически добавлять символ в поле на странице редактирования сообщений Таблицы и псевдонимы WordPress? Как связать рейтинг с отдельными комментариями? Решения для перенаправления категорий в многопользовательские блоги? Можно ли вставлять скрипты и CSS в панель управления Multisite Network? WordPress Multisite: официальный и окончательный способ включения https? (http до https) Отображение пользовательских типов сообщений в author.php заполнить выпадающую форму wordpress из таблицы базы данных Проблема получения информации и отображения желаемой структуры с пользовательским типом сообщения и таксономией Переписывать сообщения url, поскольку они все дети страницы

Пользовательский запрос SELECT не возвращает the_title и the_permalink

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

Я включил код ( related_posts.php ) под свой single.php . Однако это не отражается на данных о почтовых сообщениях, однако пользовательский запрос SELECT отлично работает в phpMyAdmin, но на почтовой странице он печатает только правильный идентификатор сообщения, тогда как все остальные данные являются неправильными или пустыми.

Проблема может быть конфликтной в $ post, потому что я включаю код в single.php. Я пробовал wp_reset_postdata (), wp_reset_query (), но никто из них не работал.

<?php /* related_posts.php */ $title = get_the_title(); //splitting words $s_terms = explode(" ", $title); //eliminating characters from title $s_terms = preg_replace("/[^a-zA-Z 0-9]+/", "", $s_terms ); //sorting words by length function term_sort($a,$b){ return strlen($b)-strlen($a); } usort($s_terms,'term_sort'); //formatting as "%KEY%" $i = 0; $st_len = count($s_terms); foreach ($s_terms as &$s_term) { if($i !== $st_len - 1) { $s_term = "$wpdb->posts.post_title LIKE '%" . $s_term . "%' OR"; }else{ $s_term = "$wpdb->posts.post_title LIKE '%" . $s_term . "%'"; } $i++; } unset($value); //converting array to string with comma as a separator $s_terms = implode(" ", $s_terms); //query $querystr = "SELECT SQL_CALC_FOUND_ROWS $wpdb->posts.ID FROM $wpdb->posts WHERE 1=1 AND ($s_terms) AND $wpdb->posts.post_type = 'post' AND ($wpdb->posts.post_status = 'publish' OR $wpdb->posts.post_status = 'private')"; // $querystr output : SELECT SQL_CALC_FOUND_ROWS wpku_posts.ID FROM wpku_posts WHERE 1=1 AND (wpku_posts.post_title LIKE '%Hello%' OR wpku_posts.post_title LIKE '%World%' OR wpku_posts.post_title LIKE '%Post%') AND wpku_posts.post_type = 'post' AND (wpku_posts.post_status = 'publish' OR wpku_posts.post_status = 'private') //get result $pageposts = $wpdb->get_results($querystr, OBJECT); if ($pageposts): global $post; foreach ($pageposts as $post): setup_postdata($post); echo get_the_ID(); //returning correct ID the_title(); //returning nothing echo time_ago(); //returning 2018 years ago the_permalink(); //returning base url http://www.example.com endforeach; endif; ?> 

Solutions Collecting From Web of "Пользовательский запрос SELECT не возвращает the_title и the_permalink"