我正在构建一个简单的侧边栏小部件,以显示自定义帖子类型“show”的循环。
每个“show”都有大约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)
你确定在这种情况下可以使用$ post-&gt; ID吗?
也许您应该尝试: get_the_ID()。
答案 1 :(得分:0)
好的,我看到你可以试试的一些事情。
month-abbreviation - 应该是单引号。比如'月缩写'
尝试取出:$month=
$date=
和$citystate =
可能需要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);
答案 2 :(得分: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