我正在整理一个基本的目标网页http://shurity.com/,并且在尝试清理我的代码时,我想为用户替换一些静态内容和动态内容。
有问题的元素是单击subscribe时弹出的模式...当我尝试将其包含在循环中时,我的文本不显示。以下代码是一个模板文件,它匹配我为模态创建的自定义帖子类型,并且帖子类型有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">×</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的新手所以如果错误很明显,请原谅我。基本上表单出现了,但我的三个自定义字段没有。这就是它现在的样子..
答案 0 :(得分:1)
您正试图在实际的WP_Query之前获取字段。
将此代码放入循环中:
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');
....