Php 如何在WP中显示包含元信息的帖子列表

Php 如何在WP中显示包含元信息的帖子列表,php,wordpress,Php,Wordpress,在一个可湿性粉剂网站,我试图建立一个事件页面。我已经设置了一个自定义post类型,并使用metabox.io插件定义了一个metabox。元数据库包含id为“date_1”的日期选择器。我现在正试图找到一种方法来显示带有活动日期和标题的帖子列表。标题很好,但我在显示日期时遇到了麻烦 线路 $events .= '<a href="'. get_permalink() .'">' . get_post_meta(get_the_ID(), 'date_1', true) . "

在一个可湿性粉剂网站,我试图建立一个事件页面。我已经设置了一个自定义post类型,并使用metabox.io插件定义了一个metabox。元数据库包含id为“date_1”的日期选择器。我现在正试图找到一种方法来显示带有活动日期和标题的帖子列表。标题很好,但我在显示日期时遇到了麻烦

线路

$events    .= '<a href="'. get_permalink() .'">' . get_post_meta(get_the_ID(), 'date_1', true) .  " - " . get_the_title() .'</a>';
$events.='';
返回标题,但不返回日期。如果我将get\u post\u meta行包装成print\r,它将返回1

我还尝试过:

$events    .= '<a href="'. get_permalink() .'">' . get_post_meta($post->ID, $field['date_1'], TRUE ).  " - " . get_the_title() .'</a>';
$events.='';
但这会返回“array”而不是1

完整代码

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' );    
}
如果(!function_存在('events_shortcode')){
函数事件\u短代码(){
$args=数组(
“post_type”=>“kalender”,
“发布状态”=>“发布”,
“订单”=>“ASC”,
“每页帖子数”=>10,
);
$postslist=新的WP\u查询($args);
全球$员额;
如果($postslist->have_posts()):
$events.='';
而($postslist->have_posts()):$postslist->the_post();
$events.='';
$events.='';
$events.='';
结束时;
wp_reset_postdata();
$events.='';
endif;
返回$events;
}
添加_短代码('events','events_短代码');
}

请阅读metabox.io插件日期字段


我希望您能解决您的问题

我做得很好,并尝试了以下方法:
$events.=''但它仍然显示为空$events;确保前缀与注册的元框函数相同。我没有定义前缀,但在定义前缀后,它使用了:
$events.=''谢谢你的帮助