显示带有快捷码的自定义帖子类型

时间:2015-04-08 作者:jorenwouters

我为我的WordPress主题创建了一个自定义帖子类型,并在一个页面上显示了自定义帖子类型。但有人知道如何制作一个显示自定义帖子类型帖子的快捷码吗?

1 个回复
SO网友:websupporter

我想,基本上你的问题是,如何在短代码中查询自定义帖子类型的帖子。您应该查看WordPress的WP\\U查询部分:https://codex.wordpress.org/Class_Reference/WP_Query

在我的示例代码中,我创建了一个快捷码,它显示了“我的自定义帖子类型”类型的最新发布帖子的标题:

<?php
    add_shortcode( \'shortcodename\', \'display_custom_post_type\' );

    function display_custom_post_type(){
        $args = array(
            \'post_type\' => \'my-custom-post-type\',
            \'post_status\' => \'publish\'
        );

        $string = \'\';
        $query = new WP_Query( $args );
        if( $query->have_posts() ){
            $string .= \'<ul>\';
            while( $query->have_posts() ){
                $query->the_post();
                $string .= \'<li>\' . get_the_title() . \'</li>\';
            }
            $string .= \'</ul>\';
        }
        wp_reset_postdata();
        return $string;
    }
?>
由于短代码是在循环中执行的,因此应该使用wp_reset_postdata() 完成查询后,主循环会像预期的那样再次工作。有关此功能的更多信息,请参见:https://codex.wordpress.org/Function_Reference/wp_reset_postdata

我希望,这会给你一个开始。

结束

相关推荐

Multiple level shortcodes

我正在开发一个插件,遇到了一种情况,我希望有人能帮我找到一个解决方案。我想要一个短代码结构,如:[shortcode_1] [shortcode_2] [shortcode_3] [shortcode_4][/shortcode_4] [/shortcode_3] [/shortcode_2] [/shortcode_1] 但如果我使用add\\u短代码,只有第一个短代码有效。。。有没有办法得到这样的短代码结构?谢谢