我想使用类似的短代码按类别名称显示最近的帖子:
[recent-posts posts="10" category="thecategoryname"]
我的代码显示最近的帖子,但我不知道如何按照以上格式的短代码按类别显示。
function recent_posts_function($atts){
extract(shortcode_atts(array(
'posts' => 1,
), $atts));
$return_string = '<ul>';
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts));
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$return_string .= '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
endwhile;
endif;
$return_string .= '</ul>';
wp_reset_query();
return $return_string;
}
function register_shortcodes(){
add_shortcode('recent-posts', 'recent_posts_function');
}
add_action( 'init', 'register_shortcodes');
答案 0 :(得分:0)
短代码属性示例:
// Attributes
extract( shortcode_atts(
array(
'category' => 'thecategoryname',
'posts' => '10',
), $atts )
);
此外,您需要在查询中添加category_name以及每页有多少帖子。
示例(来自上面的代码 - 修改过):
query_posts(
array(
'orderby' => 'date',
'order' => 'DESC' ,
'posts_per_page' => $posts,
'category_name' => $category
)
);