如何为我的WP_QUERY循环创建一个短码?

时间:2016-10-19 作者:A A

我是一名NoobWordPress开发人员,我刚刚使用高级自定义字段创建了我的第一个自定义模板页面,并设法循环。

   <?php 
            $args = array(
                \'post_type\' => \'art\',
                \'orderby\' => \'title\',
                \'order\' => \'ASC\'
            );
            $the_query = new WP_Query( $args );         
        ?>
        <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 

        <?php get_template_part( \'content\', \'art\' ); ?>

        <?php endwhile; endif; ?>
但我不仅想在模板页面中使用它,而且想在任何地方使用它。因此,我需要创建一个短代码。

示例:

function foobar_func( $atts ){
    return "foo and bar";
}
add_shortcode( \'foobar\', \'foobar_func\' );
我的问题是:如何将循环放入我的短代码中?

1 个回复
SO网友:Fernando Baltazar

我从去年就开始这样做了,而且我正在使用短代码:

   function my_code() {
   ob_start();
   get_template_part(\'loop_logos\');
   return ob_get_clean();   
} 
add_shortcode( \'logos\', \'my_code\' );
其中get\\u template\\u part加载文件loop\\u徽标。php和logos是shortcode[徽标]的名称。

HINT

当我开始这样做的时候,我习惯将所有的名字都命名为相等,以避免错误,例如:

function loop_logos() {
       ob_start();
       get_template_part(\'loop_logos\');
       return ob_get_clean();   
    } 
    add_shortcode( \'loop_logos\', \'loop_logos\' );
所以我不得不担心上传loop\\u徽标。右侧文件夹中的php。并使用[loop\\u徽标]调用短代码