Intereting Posts
Результаты не распечатываются Включение WordPress в API RESTful Несколько записей в результатах get_option? или почему _multiwidget установлен в 1? Как иметь различные header.php на основе входа пользователя? Как управлять отображением списков страниц на боковой панели, у которой нет дочерних Есть ли способ захватить переменные запроса HTTP и предоставить другой контент? Синхронизировать пользовательские теги типа сообщения с тегами типа postpost по умолчанию WordPress Пользовательский шаблон таксономии не работает Проверка неполадок, если пользовательское окно проверки woocommerce пусто или нет Защищенные паролем страницы не работают Тема для детей – скопированные некоторые файлы с родительского на дочерний сайт по-прежнему используют родительские файлы WordPress Найти повторяющиеся сообщения по контенту Фильтр для удаления атрибутов размера изображения? .htaccess для 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() в вашем текущем коде.