Поэтому я пытаюсь вернуть строку HTML в PHP if, однако по какой-то причине она не выполняется.
<?php
$args_commercial = array(
'post_type' => 'sidebar_post'
);
$query_commercial = new WP_Query( $args_commercial );
?>
<ul>
<?php if (have_posts() ) : while ($query_commercial->have_posts() ) : $query_commercial->the_post(); ?>
<?php
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
$thumb_url = $thumb_url_array[0];
?>
<li data-id="0">
<?php if (have_posts() ) : while (have_posts() ) : the_post(); ?>
<?php
$page_field = strtolower(get_field( 'page' ));
$page_title = strtolower(get_the_title());
if ( $page_field == $page_title ): ?>
<a href="<?php echo get_field( 'link' ); ?>" style="background-image: url(<?php echo $thumb_url; ?>)"><span><?php the_title(); ?></span></a>
<?php endif; ?>
</li>
<?php endwhile; endif; ?>
<?php endwhile; endif; ?>
</ul>
Поэтому просто объясните, что я зацикливаюсь в пользовательском типе записи (боковая панель с записями), и в этом пользовательском типе записи можно выбрать, на какой странице вы хотите отобразить пользовательский тип записи.
Именно это представляет переменная $page_field. $Page_title — это просто заголовок страницы. Таким образом, теоретически, если пользователь выбрал поле страницы и фактический заголовок страницы совпадают, HTML будет напечатан, а затем появится боковая панель.
Теперь по какой-то причине HTML в блоке if не выполняется, хотя $page_title и $page_field имеют одно и то же значение (я проверил их, повторив их).
Я действительно не уверен, как отлаживать дальше и убедиться, что HTML отображается условно. Любая помощь будет значительно appreacited
Спасибо.
Похоже, петля меня испортила. Сначала я прошелся по самой странице, получил заголовок страницы,а затем прошелся по типу настраиваемого сообщения. Это позволит блоку if выполняться. Вот код: