Intereting Posts
Ключ comment_post не работает? Стоит ли искать дизайнера для создания темы WordPress для продажи на ThemeForest? Заблокировать редактирование сообщений одному пользователю за раз – wp_check_post_lock Загрузите хранимые файлы WordPress для пользовательского входа Permalink при использовании Custom Post Type со статической страницей для архива Управление и воспроизведение больших видеороликов Включить пользовательский таксономический термин в поиске Принимая во внимание префиксы таблицы WordPress Заказать сообщения по тегам? Как: разбиение на страницы в 3 разных пользовательских циклах на одной странице Измените значение текста отправки электронной почты WooCommerce Получить сообщение «Выписка без обертывания» <p> и ссылку «Подробнее» body_class filter – Есть ли лучший способ написать этот код? Установка вложенной папки WordPress AJAX Проблема Поиск WordPress с котировками, возвращающимися на главную страницу

wp_query на шаблоне страницы не работает (структура Genesis)

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

Я могу сдержать сам термин с страницы без проблем и использовать их как часть $ args, которые, похоже, работают нормально.

Однако все, что использует WP_Query даже с глобальным $ post, ничего не возвращает, и любой код ниже wp_query в функции не будет выполняться.

Я использую структуру Genesis, поэтому это может иметь какое-то отношение к ней, но я действительно пытаюсь понять это. использование WP_Query в коротких кодах функционирует нормально, так почему бы и нет?

Вот код

/** * Template Name: Car Page * */ add_action( 'genesis_entry_footer', 'racelistfunc2' ); function racelistfunc2() { $terms = get_the_terms( $post->ID, 'vehicle' ) ; if ($terms) { $terms_slugs = array(); foreach ( $terms as $term ) { $terms_slugs[] = $term->slug; } $race = $terms_slugs[0]; } $args = array( 'tax_query' => array( array( 'taxonomy' => 'vehicle', 'field' => 'slug', 'terms' => $race ) ) ); echo $race; /* test to see if all functioning ok (it is here) */ $race_posts = new WP_Query( $args ); if ($race_posts->have_posts()) { while ( $race_posts->have_posts() ) { $race_posts->the_post(); $html .= "<li class='racelistnum'><a href='" . get_permalink($post->ID) . "'>" . get_the_title() . "</a></li>"; return $html; } } else { $html .= "<p>no posts lol </p>"; return $html; } wp_reset_postdata(); echo 'test here'; /* no code functions here */ } genesis(); 

Solutions Collecting From Web of "wp_query на шаблоне страницы не работает (структура Genesis)"

Здесь пара проблем –

  1. Вы зацепили функцию в файле шаблона, тогда как такой код должен идти в functions.php или вы можете напрямую поместить код этой функции в шаблон.
  2. Кажется, вы не получаете значение $post внутри этой функции.
  3. Оба оператора return должны быть удалены и просто echo $html; должен быть размещен сразу после wp_reset_postdata() в вашем текущем коде.