如何访问For Each循环中带有POST类型高级定制字段

时间:2018-06-15 作者:Jafar Salami


访问分配给帖子类型的高级自定义字段时遇到问题。

enter image description here

要循环浏览我的事件类型中的帖子,我执行了以下操作:

<?php
   $slider = get_posts(    $slider = g array(
    \'post_type\' => \'event\',
    \'posts_per_page\' => - 1
   )); ?>
<?php
   $count = 0; ?>
<?php
   foreach($slider as $slide): ?>
<?php
   $title = the_field(\'event_name\'); ?>
<div class="item <?php
   echo ($count == 0) ? \'active\' : \'\'; ?>">
   <img src="<?php
      echo wp_get_attachment_url(get_post_thumbnail_id($slide->ID)) ?>" class="img-responsive yooo"/>
   <div class="carousel-caption">
      <div class="caption-text">
         <hr style="width: 60%;border-bottom: 1px solid #000;margin-top: 0px;margin-bottom: 50px;">
         <img src="<?php
            bloginfo(\'stylesheet_directory\'); ?>/assets/img/icons/note_icon.svg" onerror="this.src=\'<?php
            bloginfo(\'stylesheet_directory\'); ?>/assets/img/icons/music_note.png\'" alt="" class="img-responsive img--center">
         <h4><?php
            echo get_the_title($ID); ?></h4>
         <h4><?php
            the_field(\'event_date\'); ?></h4>
         <p><?php
            the_content(); ?></p>
         <hr style="width: 60%;border-bottom: 1px solid #000;margin-bottom: 0px;margin-top: 50px;">
      </div>
   </div>
</div>
<?php
   $count++; ?>
<?php
   endforeach; ?>
我从帖子中获得了特色图片,但我无法检索内容(文本)、标题或我的高级自定义字段。

2 个回复
最合适的回答,由SO网友:chirejo 整理而成
<?php
   $slider = get_posts(    $slider = g array(
    \'post_type\' => \'event\',
    \'posts_per_page\' => - 1
   )); ?>
<?php $count = 0; ?>
<?php foreach($slider as $slide): ?>
<?php
   setup_postdata( $slide);
   $title = the_field(\'event_name\'); ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>

Or

<?php
   $slider = get_posts(    $slider = g array(
    \'post_type\' => \'event\',
    \'posts_per_page\' => - 1
   )); ?>
<?php $count = 0; ?>
<?php foreach($slider as $slide): ?>
<?php
   $post_id = $slide->ID;
   $title = the_field(\'event_name\',$post_id); ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
SO网友:Peter HvD

get_posts() 以及foreach 循环不会填充$posts 对象the_content() 不会填充$幻灯片内容。您需要使用WP_Query 方法,或通过$slide->ID 向每个函数明确告诉它您正在询问关于该特定帖子的信息。

例如:get_the_title($slide->ID) (顺便说一句,您的代码中有输入错误);get_field(\'event_name\', $slide->ID) (使用get_field() btw组件the_field() 打印件)

结束

相关推荐

如何访问For Each循环中带有POST类型高级定制字段 - 小码农CODE - 行之有效找到问题解决它

如何访问For Each循环中带有POST类型高级定制字段

时间:2018-06-15 作者:Jafar Salami


访问分配给帖子类型的高级自定义字段时遇到问题。

enter image description here

要循环浏览我的事件类型中的帖子,我执行了以下操作:

<?php
   $slider = get_posts(    $slider = g array(
    \'post_type\' => \'event\',
    \'posts_per_page\' => - 1
   )); ?>
<?php
   $count = 0; ?>
<?php
   foreach($slider as $slide): ?>
<?php
   $title = the_field(\'event_name\'); ?>
<div class="item <?php
   echo ($count == 0) ? \'active\' : \'\'; ?>">
   <img src="<?php
      echo wp_get_attachment_url(get_post_thumbnail_id($slide->ID)) ?>" class="img-responsive yooo"/>
   <div class="carousel-caption">
      <div class="caption-text">
         <hr style="width: 60%;border-bottom: 1px solid #000;margin-top: 0px;margin-bottom: 50px;">
         <img src="<?php
            bloginfo(\'stylesheet_directory\'); ?>/assets/img/icons/note_icon.svg" onerror="this.src=\'<?php
            bloginfo(\'stylesheet_directory\'); ?>/assets/img/icons/music_note.png\'" alt="" class="img-responsive img--center">
         <h4><?php
            echo get_the_title($ID); ?></h4>
         <h4><?php
            the_field(\'event_date\'); ?></h4>
         <p><?php
            the_content(); ?></p>
         <hr style="width: 60%;border-bottom: 1px solid #000;margin-bottom: 0px;margin-top: 50px;">
      </div>
   </div>
</div>
<?php
   $count++; ?>
<?php
   endforeach; ?>
我从帖子中获得了特色图片,但我无法检索内容(文本)、标题或我的高级自定义字段。

2 个回复
最合适的回答,由SO网友:chirejo 整理而成
<?php
   $slider = get_posts(    $slider = g array(
    \'post_type\' => \'event\',
    \'posts_per_page\' => - 1
   )); ?>
<?php $count = 0; ?>
<?php foreach($slider as $slide): ?>
<?php
   setup_postdata( $slide);
   $title = the_field(\'event_name\'); ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>

Or

<?php
   $slider = get_posts(    $slider = g array(
    \'post_type\' => \'event\',
    \'posts_per_page\' => - 1
   )); ?>
<?php $count = 0; ?>
<?php foreach($slider as $slide): ?>
<?php
   $post_id = $slide->ID;
   $title = the_field(\'event_name\',$post_id); ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
SO网友:Peter HvD

get_posts() 以及foreach 循环不会填充$posts 对象the_content() 不会填充$幻灯片内容。您需要使用WP_Query 方法,或通过$slide->ID 向每个函数明确告诉它您正在询问关于该特定帖子的信息。

例如:get_the_title($slide->ID) (顺便说一句,您的代码中有输入错误);get_field(\'event_name\', $slide->ID) (使用get_field() btw组件the_field() 打印件)

相关推荐