У меня есть пользовательский тип записи (single-result.php) и связанная пользовательская боковая панель (sidebar-results.php). На боковой панели у меня есть четыре цикла, используя расширенные пользовательские поля:
Что действительно странно, так это то, что первые три элемента всегда будут возвращать свои ссылки, но четвертый элемент не выполнится и покажет текст «else». Даже если я перепутаю порядок всех пунктов, это всегда четвертый. Если я добавлю пятый пункт, это четвертый и пятый, которые не работают. Так странно!
Есть идеи?
Вот код боковой панели:
<div class="col-lg-3 col-md-3 col-sm-3 hidden-xs sidebar md-mrg-top"> <!-- begin sidebar RIGHT -->
<div class="sidebar-widgets">
<?php if ( ! dynamic_sidebar( 'results' ) ): ?><div class="text-center">
<!-- WinSplits link, from ACF text field -->
<p class="md-mrg-top">
<?php
$key = 'winsplits_link_results';
$themeta = get_post_meta($post->ID, $key, TRUE);
if($themeta == '') {
echo 'Check back soon for splits';
}
else {
echo '<a href="';
echo the_field('winsplits_link_results');
echo '">WinSplits';
echo '</a>';
}
?>
</p><!-- RouteGadget link, from ACF text field -->
<p>
<?php
$key = 'routegadget_link_results';
$themeta = get_post_meta($post->ID, $key, TRUE);
if($themeta == '') {
echo 'Check back soon for routes';
}
else {
echo '<a href="';
echo the_field('routegadget_link_results');
echo '">RouteGadget';
echo '</a>';
}
?>
</p><!-- Link to related season standings results page, from ACF relationship field -->
<p>
<?php
$posts = get_field('related_season', $post->ID);
if( $posts ) {
foreach( $posts as $post ):
setup_postdata($post);
echo '<a href="' . get_the_permalink() . '">';
echo get_the_title();
echo '</a>';
endforeach;
wp_reset_postdata();
} else {
echo "No related related_season";
}
?>
</p><p> <!-- Link to team or individual results page, from ACF relationship field -->
<?php
$posts = get_field('team_or_individual', $post->ID);
if( $posts ) {
foreach( $posts as $post ):
setup_postdata($post);
echo '<a href="' . get_the_permalink() . '">';
echo get_the_title();
echo '</a>';
endforeach;
wp_reset_postdata();
} else {
echo "No team/indi link";
}
?>
</p>
</div><?php endif; ?> <!-- belongs to dynamic sidebar -->
</div>
</div> <!-- close sidebar right -->
Задача ещё не решена.
Других решений пока нет …