我正在学习如何在shorcode中传递参数,我了解了WP Codex的基本步骤。
但是现在,我有带有自定义字段的插件,并且标题是我想知道如何做。
这是插件中添加自定义字段的代码
$prefix = '_al_listing_';
$fields = [];
$fields[] = [
'name' => __( 'Price', 'auto-listings' ),
'id' => $prefix . 'price',
'type' => 'number',
'min' => 0,
'step' => '0.01',
];
$fields[] = [
'name' => __( 'Suffix', 'auto-listings' ),
'desc' => __( 'Optional text after price.', 'auto-listings' ),
'id' => $prefix . 'price_suffix',
'type' => 'text',
];
$fields = apply_filters( 'auto_listings_metabox_details', $fields );
ksort( $fields );
return [
'id' => $prefix . 'details',
'title' => __( 'Details', 'auto-listings' ),
'post_types' => 'auto-listing',
'fields' => $fields,
'context' => 'side',
];
这是我用来调用带参数的简码的代码,但我一次只知道传递1个自定义字段。
public function listings( $atts ) {
$atts = shortcode_atts(
[
'orderby' => 'date',
'order' => 'asc',
'number' => '20',
'price' => ''
],
$atts
);
$query_args = [
'post_type' => $post-type,
'post_status' => 'publish',
'meta_key' => '_al_listing_price',
'orderby' => 'meta_value',
'meta_value' => $atts['price'],
'order' => $atts['order'],
'posts_per_page' => $atts['number'],
];
return $this->listing_loop( $query_args, $atts, 'listings' );
}
感谢您的帮助。