这里有两个问题
切勿使用extract()
. 它已经从核心功能中删除,这应该告诉你很多。有关更多信息,请查看this trac ticket #22400
您的tax_query
是不正确的,它应该是一个数组中的一个数组,您的只是一个数组
您的短代码应该是这样的
function course_listings( $atts )
{
// Attributes
$defaults = shortcode_atts( array(
\'course_category\' => \'\',
), $atts );
// Code
$args = array(
\'post_type\' => \'modules\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'courses\',
\'field\' => \'slug\',
\'terms\' => $defaults[\'course_category\'],
),
),
);
$mod_query = new WP_Query( $args );
$output=\'<div class="course-listings">\';
while ( $mod_query->have_posts() ) {
$mod_query->the_post();
$output .=\'<ul>\';
$output .=\'<li>\' .get_the_title(). \'</li>\';
$output .=\'</ul>\';
}
wp_reset_postdata();
$output .=\'</div>\';
return $output;
}
add_shortcode( \'course\', \'course_listings\' );
只有几点提示,您可能首先要检查在执行查询之前是否输入了术语