如何抓取主循环,带条件,通过短码输出

时间:2016-07-13 作者:Darren Bachan

我没有这方面的任何代码,因为我不知道如何开始。我创建了一个名为“新闻”的类别。在我的主页上,我想显示3篇最新的文章,但我需要使用一个快捷码输出它们,这样我就可以在我的WYSIWYG中看到它们。

我的研究只是向我展示自定义的帖子类型,我不知道该如何调整它,使其成为主循环。

任何资源都是惊人的。

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

是否确实要以这种方式执行此操作?通常,这样的节可能会以某种方式写入页面模板,而不是通过内容编辑器调用。也就是说,这应该满足您的需要:

add_shortcode( \'show_xyz_news\', \'xyz_news_query\' );

function xyz_news_query() {
    $args = array(
        \'posts_per_page\' => 3,
        \'category_name\' => \'news\',
    );
    $news_query = new WP_Query( $args );
    if ( $news_query->have_posts() ) :
        $html_out = \'<ul>\';
        while ( $news_query->have_posts() ) :
            $news_query->the_post();
            // Do stuff with each post here
            $html_out .= \'<li><a href="\' . get_permalink() . \'">\' . get_the_title() . \'</a></li>\';
        endwhile;
        $html_out .= \'</ul>\';
    else : // No results
        echo "Nothing to show";
    endif;
    wp_reset_query();
    return $html_out;
}
然后在页面编辑器中调用短代码[show_xyz_news].