Intereting Posts
проблема входа в систему WordPress может изменять идентификаторы, созданные сайтом-хостером Проблема со страницей страниц Как WP решает, как оценивать целостность базы данных ошибка установки плагина Использует ли ресурс WP ресурс памяти при отсутствии посетителей? Проблема локализации: не отображает переведенные слова Поиск, где происходит короткий код изменить set_post_thumbnail_size в соответствии с административной страницей типа сообщения Как создать альтернативный канал RSS для тегов с настраиваемыми размерами изображений для MailChimp? Загрузить вложение с внешнего сайта Изменение закладки по умолчанию для медиа-менеджера Как можно разделить содержимое сообщения на страницы? Задайте параметр главной страницы с помощью настраиваемых полей? WYSIWYG съедает первый p в td wp_insert_post работает, но сообщение не отображается в списке сообщений администратора или в интерфейсе

Как мне get_the_postID () для настраиваемого сообщения, которое использует поле повторителя ACF?

Хорошо, поэтому у меня есть настраиваемый тип сообщений под названием Multimedia Gallery. Он построен с использованием поля ретранслятора, которое может принимать видео, изображение, ссылку, iframe и т. Д.

Я использую этот плагин для вставки этих пользовательских сообщений в сообщения в блогах, в основном позволяя мне вставлять мою галерею ММ в сообщения в блоге с помощью короткого кода.

Проблема в том, что … Операторы If и While, похоже, нуждаются в идентификаторе сообщения, чтобы фактически вернуть правильную информацию. Но я не уверен, что сделаю эту динамику.

Вот мой код:

<?php /* Template Name: Gallerys */ //Variables $initialCardLoad = 5; $loopLazyLoad = 0; $gridPostID = get_the_ID(); ?> <section class="grid-content"> <div class="gridGallery"> <?php // check if the repeater field has rows of data if( have_rows('card', 355) ): // loop through the rows of data while ( have_rows('card', 355) ) : the_row(); $loopLazyLoad++; // iterate on loop each time you loop through // display a sub field value inside a card ?> <?php //VARIABLES// $title = get_sub_field('card_title'); $childImage = get_sub_field('card_picture'); $file = get_sub_field('card_video'); $video = $file['url']; if($loopLazyLoad > $initialCardLoad): if( $childImage ): ?> <div class="grid-item"> <a data-fancybox="gallery" data-caption="<?php echo $title ?>" href="<?php echo $childImage['url'];//big one here ?>"> <img class="lazy" data-src="<?php echo $childImage['url']; ?>"> </a> <?php endif; ?> <?php if( $video ): ?> <div class="grid-item"> <video class="gallery-video lazy" loop autoplay muted> <source src="<?php echo $video; ?>" type="video/mp4"> </video> <?php endif; ?> </div> <?php //end of grid item div else : // Note the combination of the words. if( $childImage ): ?> <div class="grid-item"> <a data-fancybox="gallery" data-caption="<?php echo $title ?>" href="<?php echo $childImage['url'];//big one here ?>"> <img class="" src="<?php echo $childImage['url']; ?>"> </a> <?php endif; ?> <?php if( $video ): ?> <div class="grid-item"> <video class="gallery-video" loop autoplay muted> <source src="<?php echo $video; ?>" type="video/mp4"> </video> <?php endif; ?> </div> <!-- end of grid item div --> <?php endif; //end of initial card load of loop endwhile; //end of while statement 

355 – это ручной ввод правильного идентификатора почты для целей тестирования, если он будет работать. Оно делает! Но как я могу сделать его динамичным? Когда я пытаюсь использовать get_the_ID (), он просто получает идентификатор сообщения, в которое я вставляю, а не тот, с которого я вставляю.

Solutions Collecting From Web of "Как мне get_the_postID () для настраиваемого сообщения, которое использует поле повторителя ACF?"

Из кода плагина видно, что он использует query_posts() для настройки нового контекста для вашего шаблона, если вы используете display="blah.php" .

Поэтому вам нужно просто добавить цикл вокруг вашего шаблона:

 <?php /** * Template Name: Gallery */ while ( have_posts() ): the_post(); // <-- Important bit if( have_rows( 'card' ) ): while ( have_rows( 'card' ) ) : the_row(); // Stuff endwhile; endif; endwhile; // <-- Important bit