2016-05-05 3 views
0

Ich erstelle eine einfache Zielseite http://shurity.com/, und beim Versuch, meinen Code aufzuräumen, wollte ich einige statische Inhalte durch dynamische Inhalte für den Benutzer ersetzen.Angepasste Felder werden in benutzerdefinierten Posts nicht angezeigt

Das fragliche Element ist das Modal, das erscheint, wenn Sie auf subscribe klicken ... mein Text wird nicht angezeigt, wenn ich versuche, ihn in die Schleife aufzunehmen. Der folgende Code ist eine Vorlagendatei, die dem benutzerdefinierten Post-Typ entspricht, den ich für das modale erstellt habe, und der Post-Typ verfügt über 3 benutzerdefinierte Felder für Titel, Text und Fußzeile des Modal. the_content() zieht das aktuelle Formular.

<?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 --> 

Ich nenne diese Vorlage Teil in meiner footer.php. Ich bin neu in Wordpress, bitte entschuldigt mich, wenn der Fehler offensichtlich ist. Grundsätzlich erscheint das Formular, aber meine drei benutzerdefinierten Felder nicht. Dies ist, wie es jetzt aussieht ..

enter image description here

Antwort

1

Sie versuchen, die Felder vor dem eigentlichen WP_Query zu erhalten.

Dieser Code in einer Schleife:

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

    .... 
+0

Danke Sir, das funktioniert. – CZorio