Intereting Posts
Как создать WP_Query с использованием тегов mulitple и используя оператор AND или OR между ними Проблема с подключаемым подзаголовком WP Как использовать максимальные и минимальные значения настраиваемых полей Почему save_post _ $ (custom_post_type) уволен, даже если я еще не сохраняю сообщение? Как распределить таксономию категорий с настраиваемым типом сообщения (плагин Календарь событий) Настроить вывод JSON Функция, не сохраняющая снятый флажок get_post_meta возвращает bool (false) Простой вход в систему с тактовой синхронизацией Как удалить страницу после листинга для персонализированного типа сообщения Удаление «вашей резервной папки МОЖЕТ быть видимой для публики» Сообщение, созданное плагином WP-DBManager Как изменить лайтбокс «Вставить медиа» в админ, чтобы показывать только мультимедийные объекты из категории? Параметр set_transient () переписывает / обновляет переход с тем же ключом? Использовать данные WP_Query в Cookie Загружать родительские файлы тем перед дочерней темой functions.php

Проблема с wp_query с post_type = page

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

$page_query = new WP_Query(array( 'post_status' => 'publish', 'post_type' => 'page', 'order' => 'ASC', 'orderby' => 'menu_order', 'posts_per_page' => '-1', 'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1 )); if ( $page_query->have_posts() ) : while ( $page_query->have_posts() ) : $page_query->the_post(); ?> <?php $template = get_post_meta( get_the_ID(), '_wp_page_template', TRUE ); ?> <?php if( $template && $post->post_content != '' ) { ?> <li id="page_<?php echo str_replace(' ','_',strtolower( get_the_title())); ?>"> <?php get_template_part( 'content', 'page' ); ?> </li> <?php } endwhile; endif; ?> 

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

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

Спасибо за помощь.

Если ваша цель – загрузить выбранный пользовательский шаблон для каждой страницы в цикле, то вы на самом деле довольно близки к этому. Вы получаете значение _wp_page_template , но тогда вы ничего не делаете с этим шаблоном, вы просто загружаете content-page.php для каждой из этих страниц с линией get_template_part( 'content', 'page' ); ,

Если вы вместо этого возьмете _wp_page_template и передадите это значение get_template_part (минус расширение .php ), вы получите описание, которое вы описываете.

 if ( $page_query->have_posts() ) : while ( $page_query->have_posts() ) : $page_query->the_post(); $template = get_post_meta( get_the_ID(), '_wp_page_template', true ); if( $template && $post->post_content != '' ) { get_template_part( substr( $template, 0, -4 ) ); } endwhile; endif;