2012-09-09 39 views
1

我正在构建一个简单的侧边栏小部件以显示自定义帖子类型“shows”的循环。访问Wordpress侧边栏部件中的帖子自定义字段

每个“显示”有大约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回复后删除双引号。

回答

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

+0

我试过了,我仍然没有输出。我认为这与我如何形成我的循环有关...也许WP_query。 – joshlawler7

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

+0

您可能还需要刷新重写规则:http://codex.wordpress.org/Function_Reference/flush_rewrite_rules – avexdesigns

1

您确定$ post-> ID在此上下文中可用吗?

也许你应该试试:get_the_ID()改为。

相关问题