有一个基本的shortcode example in the Codex.
function bartag_func( $atts ) {
extract( shortcode_atts( array(
\'foo\' => \'no foo\',
\'baz\' => \'default baz\'
), $atts ) );
return "foo = {$foo}";
}
add_shortcode( \'bartag\', \'bartag_func\' );
数组是短代码默认值,用于填充任何未在短代码参数中特别传递的属性。应用到您的代码时,它看起来像:
function get_gifts_posts($atts, $content){
extract( shortcode_atts( array(
\'post_type\' => \'post\',
\'order\' => \'desc\',
\'orderby\' => \'date\',
\'posts_per_page\'=> 5,
), $atts ) );
// function truncated
// but you may now use $post_type, $order, $orderby and $posts_per_page variables
}
add_shortcode(\'super_awesome_shortcode\', \'get_gifts_posts\' );
Update
现在可以这样使用快捷码:
[super_awesome_shortcode posts_per_page="10"]
其中$posts\\u per\\u页面等于10
或
[super_awesome_shortcode]
其中$posts\\u per\\u page将等于默认值5。
shortcode_atts()
将用户短代码属性与已知属性相结合,并在需要时填写默认值。