woocommerce自定义循环调用精选、促销以及产品排序
本文将会介绍woocommerce自定义产品循环调用筛选,从而帮助你在主循环之外调用自己想要的woocommerce产品。
只调用精选产品(也就是在后台woocommerce产品列表的星标产品)
只调用促销的产品(促销产品是有原价和现价的产品)
产品按照价格从高到低排序
产品按照价格从低到高排序
实际上这里比较少资料或者无法与wordpress通用的调用只有1调用精选产品和促销产品,其他的排序显示基本上与wordpress的自定义循环相同。
woocommerce自定义循环调用精选产品
代码以及注释如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | global $wp_query, $post, $woocommerce,$query_string; $product_visibility_term_ids = wc_get_product_visibility_term_ids();//获取精选产品 $args = array( 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'product_visibility',//按照产品显示查询 'field' => 'term_taxonomy_id', 'terms' => $product_visibility_term_ids['featured'],//筛选出精选产品 ), ), 'posts_per_page' => 5,//一共需要调用的文章数量 'post_status' => 'publish',//调用的文章为已经发布 'post_type' => 'product',//调用的类型为产品(product) 'no_found_rows' => 1, 'order' => "ASC",//文章排序为时间正排序 'meta_query' => array()//还可以使用post meta进行查询,这个和wordpress循环中使用一样 ); //以上为循环的参数 $query= new WP_Query( apply_filters( 'woocommerce_products_widget_query_args', $args ) );//建立循环查询 //开始循环 if($query->have_posts()) : while ( $query->have_posts() ) :$query->the_post(); //loop 输出循环中的内容 endwhile; //结束循环 wp_reset_query();//清除循环 endif; |
woocommerce只调用促销产品
(促销产品包含指定的产品分类)代码以及注释如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | global $wp_query, $post, $woocommerce,$query_string; $product_ids_on_sale = wc_get_product_ids_on_sale();//获取所有的促销产品 $args = array( 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'product_cat',//此处参数指定为产品目录 'field' => 'id',//调用依据为产品目录id 'terms' => array( 11 ),//11为产品目录id ), ), 'posts_per_page' => 5,//一共需要调用的文章数量 'post_status' => 'publish',//调用的文章为已经发布 'post_type' => 'product',//调用的类型为产品(product) 'no_found_rows' => 1, 'order' => "ASC",//文章排序为时间正排序 'meta_query' => array()//还可以使用post meta进行查询,这个和wordpress循环中使用一样 'post__in' =>$product_ids_on_sale//筛选出促销产品 ); //以上为循环的参数 $query= new WP_Query( apply_filters( 'woocommerce_products_widget_query_args', $args ) );//建立循环查询 //开始循环 if($query->have_posts()) : while ( $query->have_posts() ) :$query->the_post(); //loop 输出循环中的内容 endwhile; //结束循环 wp_reset_query();//清除循环 endif; |
woocommerce调用产品自定义循环价格排序
代码以及详细注释如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | global $wp_query, $post, $woocommerce,$query_string; $args = array( 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'product_cat',//此处参数指定为产品目录 'field' => 'id',//调用依据为产品目录id 'terms' => array( 11 ),//11为产品目录id ), ), 'posts_per_page' => 5,//一共需要调用的文章数量 'post_status' => 'publish',//调用的文章为已经发布 'post_type' => 'product',//调用的类型为产品(product) 'no_found_rows' => 1, 'order' => "ASC",//正排序,如果是逆排序这里参数为“desc” ‘orderby’=> 'meta_value_num', 'meta_key' => '_price'//以自定义字段价格进行排序 ); //以上为循环的参数 $query= new WP_Query( apply_filters( 'woocommerce_products_widget_query_args', $args ) );//建立循环查询 //开始循环 if($query->have_posts()) : while ( $query->have_posts() ) :$query->the_post(); //loop 输出循环中的内容 endwhile; //结束循环 wp_reset_query();//清除循环 endif; |
浅唱6(微信/QQ号:909912499),欢迎分享本文,转载请保留出处!部分内容来自网络,如有侵权请联系删除处理!
相关信息
本站提供代码修改,dedecms,WordPress仿站二次开发 / PHP网站建设以及SEO优化等网络营销推广等服务。
如有需要请加QQ: 909912499