在WP站点中,我正在尝试设置事件页面。我已经设置了一个自定义帖子类型并使用 metabox.io 插件定义了一个元框。元框包含一个 id 为"date_1"的日期选择器。我现在正在尝试找到一种方法来显示带有事件日期和标题的帖子列表。标题工作正常,但我无法显示日期。
该行
$events .= '<a href="'. get_permalink() .'">' . get_post_meta(get_the_ID(), 'date_1', true) . " - " . get_the_title() .'</a>';
返回标题,但不返回日期。如果我将get_post_meta行包装在print_r中,它将返回 1。
我还尝试过:
$events .= '<a href="'. get_permalink() .'">' . get_post_meta($post->ID, $field['date_1'], TRUE ). " - " . get_the_title() .'</a>';
但这返回"数组"而不是一个。
完整代码
if ( ! function_exists('events_shortcode') ) {
function events_shortcode() {
$args = array(
'post_type' => 'kalender',
'post_status' => 'publish',
'order' => 'ASC',
'posts_per_page' => 10,
);
$postslist = new WP_Query( $args );
global $post;
if ( $postslist->have_posts() ) :
$events .= '<div class="events-lists">';
while ( $postslist->have_posts() ) : $postslist->the_post();
$events .= '<div class="items">';
$events .= '<a href="'. get_permalink() .'">' . get_post_meta(get_the_ID(), 'date_1', true) . " - " . get_the_title() .'</a>';
$events .= '</div>';
endwhile;
wp_reset_postdata();
$events .= '</div>';
endif;
return $events;
}
add_shortcode( 'events', 'events_shortcode' );
}
请阅读 metabox.io 插件日期字段文档。
我希望你能解决你的问题