自定义字段未显示在自定义帖子类型中

时间:2016-05-05 11:44:41

标签: php wordpress custom-post-type advanced-custom-fields

我正在整理一个基本的目标网页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">&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的新手所以如果错误很明显,请原谅我。基本上表单出现了,但我的三个自定义字段没有。这就是它现在的样子..

enter image description here

1 个答案:

答案 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');

    ....