使用短代码查询帖子

I am using this query for getting event custom posts

<?php
global $post;
$args = array( 'posts_per_page' => -1, 'post_type'=> 'events' );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>
    <h2><?php the_title(); ?></h2>
    <p><?php echo get_post_meta($post->ID, 'events_photo', true); ?></p>
<?php endforeach; ?>

Now I want to be create a shortcode for this query. I am using this code

function get_events(){
    global $post;
    $args = array( 'posts_per_page' => -1, 'post_type'=> 'events' );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) : setup_postdata($post);
        $list_events= '';

        $event_title= get_the_title();
        $event_photo= get_post_meta($post->ID, 'event_photo', true); 

        $list_events.='
            <h2>'.$event_title.'</h2>
            <p>'.$event_photo.'</p>
        ';    
        $list_events= '';
    endforeach;
}

function insert_event($atts, $content=null){
$events_all= get_events();
return $events_all;
}
add_shortcode('all_events', 'insert_event');

but, it is not working. Can anyone help?

dongwei2030
dongwei2030 你找到了解决方案吗?
大约 7 年之前 回复
dongsi073898
dongsi073898 删除你的insert_event函数并在短代码中调用get_eventsadd_shortcode('all_events','get_events');
大约 7 年之前 回复
dql123000
dql123000 我不知道怎么回事。我在PHP方面很弱。你能给我代码吗?
大约 7 年之前 回复
dongzhong5756
dongzhong5756 然后没有调用短代码,尝试检查与之相关的触发器
大约 7 年之前 回复
dongxing9219
dongxing9219 它没有显示任何东西。没有日志或错误。我只需要显示带有该短代码的自定义帖子列表。我需要标题和自定义字段将显示在帖子列表中。
大约 7 年之前 回复
dpdhf02040
dpdhf02040 是的,您可以将结果粘贴到insert_event函数上吗?
大约 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐