如何使用自定义邮政类型创建简短代码

时间:2018-10-26 作者:Ragupathi

我是Wordpress插件开发新手。我想使用自定义Post类型方法创建短代码

function baztag_func( $atts, $content = "" ) {
    return "content = $content";
}
add_shortcode( \'baztag\', \'baztag_func\' );

1 个回复
SO网友:Pratik Patel

试试这个

    /**
     * Register all shortcodes
     *
     * @return null
     */
    function register_shortcodes() {
        add_shortcode( \'listing\', \'shortcode_mostra_produtos\' );
    }
    add_action( \'init\', \'register_shortcodes\' );

    /**
     * Produtos Shortcode Callback
     * 
     * @param Array $atts
     *
     * @return string
     */
    function shortcode_mostra_produtos( $atts ) {
        global $wp_query,
            $post;

        $atts = shortcode_atts( array(
            \'type\' => \'\'
        ), $atts );

        $loop = new WP_Query( array(
            \'posts_per_page\'    => \'-1\',
            \'post_type\'         => $atts[\'type\']
        ) );

        if( ! $loop->have_posts() ) {
            return false;
        }

        while( $loop->have_posts() ) {
            $loop->the_post();
            echo the_title();
// DO YOUR HTML STUFF HERE
        }

        wp_reset_postdata();
    }
使用短代码,如:

[列表类型=“此处为您的自定义帖子类型”]

如果有任何疑问,请尝试让我知道

谢谢

结束

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗