如何使用多个值为Wordpress短代码功能添加属性?确切地说,我想添加'order'
属性和选项(值)asc
或desc
,以便我可以在短代码中使用它,例如[reviews_category id=1 tag=25 order=asc]
或order=desc
到目前为止我想到的是添加
'orderby' => 'taxonomy_cat',
'order' => desc
这会进行排序但不允许我使用asc
或desc
作为排序方向设置短代码中的属性。它只按desc
我的功能是:
function review_category_func($atts) {
$taxID = intval($atts["id"]);
$ppp = intval($atts["posts_per_page"]);
$output = '';
$args = array(
"post_type" => "reviews",
"posts_per_page" => $ppp,
'tax_query' => array(
array(
'taxonomy' => 'review_category',
'id' => 'term_id',
'terms' => $taxID
)
),
'orderby' => 'taxonomy_cat',
'order' => desc
);
if (isset($atts['tag'])) {
$terms = explode(',', $atts['tag']);
$args['tax_query']['relation'] = 'AND';
$args['tax_query'][] = array(
'taxonomy' => 'review_sources',
'id' => 'term_id',
'terms' => $terms
);
}
$qry = new WP_Query( $args );
//the rest of the code here....
//ends here
<?php
}
wp_reset_query();
return $output;
}
add_shortcode("review_category", "review_category_func");
答案 0 :(得分:0)
您需要使用shortcode_atts()
,因为它在codex中有解释:https://codex.wordpress.org/Function_Reference/shortcode_atts
$args = shortcode_atts(
array(
'orderby' => 'taxonomy_cat',
'order' => 'desc',
...
),
$atts
);
然后你清理你的变量,如:
$orderby = esc_attr( $args['orderby'] );