我尝试使用jquery滑块在我自己的插件中使用主题的一系列特色产品 我已经完成了这个功能,并从class-wc-shortcodes.php获得了attrs 但没有结果
add_shortcode('soqopslider', 'wps_soqopslider');
function wps_soqopslider() {
$atts = shortcode_atts( array(
'per_page' => '12',
'columns' => '4',
'orderby' => 'date',
'order' => 'desc',
'category' => '', // Slugs
'operator' => 'IN', // Possible values are 'IN', 'NOT IN', 'AND'.
), $atts, 'featured_products' );
$meta_query = WC()->query->get_meta_query();
$tax_query = WC()->query->get_tax_query();
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN',
);
$query_args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => $atts['per_page'],
'orderby' => $atts['orderby'],
'order' => $atts['order'],
'meta_query' => $meta_query,
'tax_query' => $tax_query,
);
// The Query
$the_query = new WP_Query( query_args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
echo "No featured products found :(";
}
return "<span style='background:green;color:white;' >nothing</span>";
}
我必须添加或更改以使其有效 我现在将它用作欢迎页面中的短代码,仅用于测试
答案 0 :(得分:2)
您的代码中存在一些错误。所以我有佣人必要的改变。
还必须返回短代码数据而不回显。
以下是功能代码:
add_shortcode('soqopslider', 'wps_soqopslider');
function wps_soqopslider( $atts) {
$atts = shortcode_atts(
array(
'per_page' => '12',
'columns' => '4',
'orderby' => 'date',
'order' => 'desc',
'category' => '', // Slugs
'operator' => 'IN', // Possible values are 'IN', 'NOT IN', 'AND'.
), $atts, 'soqopslider'
);
$meta_query = WC()->query->get_meta_query();
$tax_query = WC()->query->get_tax_query();
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN',
);
$query_args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => $atts['per_page'],
'orderby' => $atts['orderby'],
'order' => $atts['order'],
'meta_query' => $meta_query,
'tax_query' => $tax_query,
);
// The Query
$the_query = new WP_Query( $query_args );
$html = '</ul>';
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
$html .= '<li>' . get_the_title() . '</li>';
}
// Restore original Post Data
wp_reset_postdata();
// Output
return $html . '</ul>';
} else {
return "No featured products found :(";
}
}
## BASIC USAGE: [soqopslider]
# ---- #
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
此代码经过测试,将输出功能产品标题列表。