Intereting Posts
Как получить реальный тип файла для изображений, у которых нет расширения Как добавить do_action при обновлении WP customizer? tax_query не работает для таксономии Используйте страницу wordpress для отображения определенной категории Заказ запроса с использованием настраиваемых метаданных Заменить постоянную таксономию Установить язык за сообщение Довольно постоянные ссылки, возвращаемые «не найдены» на локальном хосте и сервере Показать WordPress по дате Как я могу создать раздел «частных комментариев» для пользовательского типа сообщений? Удалить вкладки из групп друзей и групп участников Как проверить, что single.php уже вызвал функцию the_post_thumbnail Преобразование статического шаблона HTML в тему WP. Как указать содержимое страницы? Добавить параметр URL во все внутренние ссылки, используя определенную тему Удалить строку пользовательской таблицы в WordPress с помощью AJAX

Пользовательские поля, не отображаемые в настраиваемом типе сообщений

Я собираю базовую целевую страницу http://shurity.com/ , и, пытаясь очистить свой код, я хотел заменить статический контент динамическим контентом для пользователя.

Этот элемент является модальным, который появляется, когда вы нажимаете подписку … мой текст не появляется, когда я пытаюсь включить его в цикл. Следующий код представляет собой файл шаблона, который соответствует настраиваемому типу post, который я создал для модального, и тип сообщения имеет 3 настраиваемых поля для заголовка, текста тела и нижнего колонтитула модального. the_content () тянет фактическую форму.

<?php $modal_header = get_field('modal_header'); $modal_body = get_field('modal_body'); $modal_footer = get_field('modal_footer'); ?> <!-- MODAL ================================================== --> <div class="modal fade" id="myModal"> <div class="modal-dialog"> <div class="modal-content"> <?php $args = array( 'post_type' => 'modal', 'posts_per_page' => 1 ); $loop = new WP_Query($args); ?> <?php if ( $loop -> have_posts() ) : /* Start the Loop */ while ( $loop -> have_posts() ) : $loop -> the_post(); /* * Include the Post-Format-specific template for the content. * If you want to override this in a child theme, then include a file * called content-___.php (where ___ is the Post Format name) and that will be used instead. */ //get_template_part( 'template-parts/content', get_post_format() ); ?> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <h4 class="modal-title" id="myModalLabel"><i class="fa fa-envelope"></i> <?php echo $modal_header; ?></h4> </div><!-- modal-header --> <div class="modal-body"> <p><?php echo $modal_body; ?></p> <?php the_content(); ?> </div><!-- modal-body --> <hr> <p><small><?php echo $modal_footer; ?></small></p> <?php endwhile; else : get_template_part( 'template-parts/content', 'none' ); endif; ?> <?php wp_reset_postdata(); ?> </div><!-- modal-content --> </div><!-- modal-dialog --> </div><!-- modal --> 

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

введите описание изображения здесь

Попробуйте следующий код

 <?php /* Template Name: Template_Name */ get_header(); $modal_header = get_field('modal_header'); $modal_body = get_field('modal_body'); $modal_footer = get_field('modal_footer'); echo '<pre>';print_r($modal_header);echo '</pre>'; // show the content of filed its for checking purpose. echo '<pre>';print_r($modal_body);echo '</pre>';// show the content of filed its for checking purpose. echo '<pre>';print_r($modal_footer);echo '</pre>';// show the content of filed its for checking purpose. ?> <!-- MODAL ================================================== --> <div class="modal fade" id="myModal"> <div class="modal-dialog"> <div class="modal-content"> <?php $args = array( 'post_type' => 'modal', 'posts_per_page' => 1 ); $loop = new WP_Query($args); ?> <?php if ( $loop -> have_posts() ) : /* Start the Loop */ while ( $loop -> have_posts() ) : $loop -> the_post(); ?> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <h4 class="modal-title" id="myModalLabel"><i class="fa fa-envelope"></i> <?php echo $modal_header; ?></h4> </div><!-- modal-header --> <div class="modal-body"> <p><?php echo $modal_body; ?></p> <?php the_content(); ?> </div><!-- modal-body --> <hr> <p><small><?php echo $modal_footer; ?></small></p> <?php endwhile; else : get_template_part( 'template-parts/content', 'none' ); endif; ?> <?php wp_reset_postdata(); ?> </div><!-- modal-content --> </div><!-- modal-dialog --> </div><!-- modal --> <?php get_footer(); ?> 

Ответ найден в Stackoverflow. Пользовательские поля должны быть вызваны внутри цикла, как …

 while ( $loop -> have_posts() ) : $loop -> the_post(); $modal_header = get_field('modal_header'); $modal_body = get_field('modal_body'); $modal_footer = get_field('modal_footer'); .... 

Ответ от Codeforest

Попробуй это:

  <?php $args = array( 'post_type' => 'modal', 'posts_per_page' => 1 ); $loop = new WP_Query($args); ?> <?php if ( $loop->have_posts() ) : /* Start the Loop */ while ( $loop->have_posts() ) : $loop->the_post(); /* * Include the Post-Format-specific template for the content. * If you want to override this in a child theme, then include a file * called content-___.php (where ___ is the Post Format name) and that will be used instead. */ //get_template_part( 'template-parts/content', get_post_format() ); ?> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <h4 class="modal-title" id="myModalLabel"><i class="fa fa-envelope"></i> <?php echo get_field('modal_header'); ?></h4> </div><!-- modal-header --> <div class="modal-body"> <p><?php echo get_field('modal_body'); ?></p> <?php the_content(); ?> </div><!-- modal-body --> <hr> <p><small><?php echo get_field('modal_footer'); ?></small></p> <?php endwhile; else : get_template_part( 'template-parts/content', 'none' ); endif; ?> <?php wp_reset_postdata(); ?> </div><!-- modal-content --> </div><!-- modal-dialog -->