1

我正在构建一个简单的侧边栏小部件来显示自定义帖子类型“显示”的循环。

每个“节目”都有大约 3 个自定义字段,我也想通过循环输出。这是我正在使用的代码:

这是我的插件代码中的循环:

<?php
// WIDGET CODE GOES HERE
$args = array( 'post_type' => 'shows', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    $month = get_post_meta($post->ID,'month-abbreviation',true);
    $date = get_post_meta($post->ID,'date',true);
    $citystate = get_post_meta($post->ID,'city-state',true); ?> 
    <article class="sidebar-show clearfix">
        <a class="show-link" href="<?php the_permalink(); ?>">
            <div class="date-box">
                <span class="month"><?php echo $month; ?></span>
                <span class="date"><?php echo $date; ?></span>
            </div>
            <div class="venue-box">
                <?php echo "<h4>".get_the_title()."</h4>"; ?>
                <?php echo "<p>".$citystate."</p>"; ?> 
            </div>
        </a>
    </article>
<?php endwhile;
wp_reset_query();
wp_reset_postdata();
?>
<?php 
    echo $after_widget;
  }

}
add_action( 'widgets_init', create_function('', 'return register_widget("ShowsSidebarWidget");') );?>

此代码提取帖子标题,但不显示自定义字段月份缩写、日期和城市状态。

这里缺少什么?

编辑:avexdesign 回复后删除了双引号。

4

3 回答 3

1

你确定 $post->ID 在这种情况下可用吗?

也许您应该尝试:get_the_ID()代替。

于 2014-06-04T13:17:58.333 回答
0

好的,我看到了一些你可以尝试的方法。

  1. 月份缩写 - 应该是单引号。像“月份缩写”

  2. 尝试取出: $month=  $date=$citystate =

  3. 可能需要echo

所以试试:

echo get_post_meta($post->ID,'month-abbreviation', true);

echo get_post_meta($post->ID,'date', true);

echo get_post_meta($post->ID,'city-state', true);

于 2012-09-09T19:59:09.637 回答
0

尝试类似:

<?php $loop = new WP_Query( array( 'post_type' => 'shows', 'posts_per_page' => 10 ) ); ?>

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<span class="month"><?php echo get_post_meta($post->ID, 'month-abbreviation', true); ?></span>

<span class="date"><?php echo get_post_meta($post->ID, 'date', true); ?></span>

等等...对于您的其他自定义 ID

于 2012-09-09T20:35:18.990 回答