建设wordpress商城网站,一般会选择使用woocommerce插件,如果直接是一个纯粹的商城,直接按照woocommerce的模板层级设置模板即可。
有很多情况是企业展示站点,后来想融合进入商店模块,这样就需要在wordpress的默认模板中调用woocommerce创建的内容类型product,以及分类方式product_cat中调用相应的产品数据。
调用的代码如下:
基础代码:<?php $my_query_bignav5_sub = new WP_Query(array('post_type' => 'product','posts_per_page'=> 4,'tax_query' => array ( // 根据自定义分类方式去查询array('taxonomy' => 'product_cat',// 'field' => 'slug',//'field' => 'term_id', //hs默认按照id来调用,可以直接写一个term的id,也可以以数组来写多个id。//'terms' => array(31, 32),'terms' => 31,))));?>
稍微复杂一些的代码:<?php$my_query = new WP_Query(array('post_type' => 'product','posts_per_page'=> 4,'tax_query' => array ( // 根据自定义分类方式去查询'relation' => 'AND',array('taxonomy' => 'product_visibility','field' => 'slug','terms' => array('exclude-from-catalog','outofstock'),'operator' => 'NOT IN'),array('taxonomy' => 'product_cat','field' => 'slug','terms' => $term->slug,))));?>
再复杂一些的调用,可以参考下述代码:
global $wp_query, $post, $woocommerce,$query_string;$args = array('tax_query' => array('relation' => 'OR',array('taxonomy' => 'product_cat',//此处参数指定为产品目录'field' => 'id',//调用依据为产品目录id'terms' => array( 28 ),//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循环中使用一样);//以上为循环的参数$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;