Display metabox with date

时间:2013-12-01 作者:blam4nz

我正在尝试在WordPress中添加带日期的metabox。我使用了来自此的代码page

它工作得很好,但我在页面上显示metabox值时遇到问题。

我的循环:

<?php query_posts(array(\'post_type\' => \'event\' , \'posts_per_page\' => 9999, \'orderby\' => \'menu_order\', \'order\' => \'ASC\' ));
if (have_posts()) : while (have_posts()) : the_post();
$custom = get_post_custom($post->ID); ?>

<div class="event">
    <h2><?php the_title(); ?></h2>
    <p>Date: <?php echo get_post_meta($post->ID, \'_day\', true);?>.<?php echo get_post_meta($post->ID, \'_month\', true);?>.<?php echo get_post_meta($post->ID, \'_year\', true);?></p>
    <p>Hour: <?php echo get_post_meta($post->ID, \'_hour\', true);?>:<?php echo get_post_meta($post->ID, \'_minute\', true);?></p>
    <?php the_content(\'\'); ?>
</div>
<?php endwhile; endif; ?>
我添加了自定义帖子类型“event”。metabox(日期/位置)中的值已保存,但尚未显示在页面上。

为什么不起作用?

感谢您的回复。

1 个回复
最合适的回答,由SO网友:Chittaranjan 整理而成

在数据库中,它将带有前缀的日期详细信息存储为\\u start和\\u end,因此您需要相应地更改元键。请看一下下面的代码。

<p>Start time details</p>
<p>Date: <?php echo get_post_meta($post->ID, \'_start_day\', true);?>.<?php echo get_post_meta($post->ID, \'_start_month\', true);?>.<?php echo get_post_meta($post->ID, \'_start_year\', true);?></p>
<p>Hour: <?php echo get_post_meta($post->ID, \'_start_hour\', true);?>:<?php echo get_post_meta($post->ID, \'_start_minute\', true);?></p>

<p>End time details</p>
<p>Date: <?php echo get_post_meta($post->ID, \'_end_day\', true);?>.<?php echo get_post_meta($post->ID, \'_end_month\', true);?>.<?php echo get_post_meta($post->ID, \'_end_year\', true);?></p>
<p>Hour: <?php echo get_post_meta($post->ID, \'_end_hour\', true);?>:<?php echo get_post_meta($post->ID, \'_end_minute\', true);?></p>
以防$post->ID 不包含值,请尝试使用get_the_ID().

结束

相关推荐

Query date in wordpress loop

我目前有一个名为“事件”的自定义帖子类型。我根据这里的教程创建了这个http://tatiyants.com/how-to-use-wordpress-custom-post-types-to-add-events-to-your-site/. 我想查询日期,只显示日期即将到来的帖子,而不是过去的帖子。$event_date >= time然而,在教程中,他使用一个短代码显示结果。我正在尝试将其转换为标准wp循环,以便在索引中显示它。php。他在其短代码函数中使用以下内容:add_shortcode