怎么调用woocommerce分类目录,指定分类下的指定商品

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么调用woocommerce分类目录,指定分类下的指定商品相关的知识,希望对你有一定的参考价值。

方法/步骤
在系统目录文件找到includes/lib_goods.php 这个文件打开在此页最底部加入以下函数代码:
/**
* 首页获取指定分类产品
*
* @access public
* @param string $cat_id53_best_goods
* @param array $cat_id53_best_goods
* @return array
*/
function get_cat_id_goods_list($cat_id = \'\', $num = \'\')
$sql = \'Select g.goods_id, g.cat_id,c.parent_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, \' .
"IFNULL(mp.user_price, g.shop_price * \'$_SESSION[discount]\') AS shop_price, " .
"promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, goods_img, " .
"g.is_best, g.is_new, g.is_hot, g.is_promote " .
\'FROM \' . $GLOBALS [\'ecs\']->table ( \'goods\' ) . \' AS g \' .
\'LEFT JOIN \' . $GLOBALS [\'ecs\']->table ( \'category\' ) . \' AS c ON c.cat_id = g.cat_id \' .
"LEFT JOIN " . $GLOBALS [\'ecs\']->table ( \'member_price\' ) . " AS mp " .
"ON mp.goods_id = g.goods_id AND mp.user_rank = \'$_SESSION[user_rank]\' " .
"Where g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 " .
$sql .= " AND (c.parent_id =" . $cat_id . " OR g.cat_id = " . $cat_id . " OR g.cat_id " . db_create_in ( array_unique ( array_merge ( array (
$cat_id
), array_keys ( cat_list ( $cat_id, 0, false ) ) ) ) ) . ")";
$sql .= " LIMIT $num";
$res = $GLOBALS [\'db\']->getAll ( $sql );
$goods = array ();
foreach ( $res as $idx => $row )
$goods [$idx] [\'id\'] = $row [\'article_id\'];
$goods [$idx] [\'id\'] = $row [\'goods_id\'];
$goods [$idx] [\'name\'] = $row [\'goods_name\'];
$goods [$idx] [\'brief\'] = $row [\'goods_brief\'];
$goods [$idx] [\'brand_name\'] = $row [\'brand_name\'];
$goods [$idx] [\'goods_style_name\'] = add_style ( $row [\'goods_name\'], $row [\'goods_name_style\'] );
$goods [$idx] [\'short_name\'] = $GLOBALS [\'_CFG\'] [\'goods_name_length\'] > 0 ? sub_str ( $row [\'goods_name\'], $GLOBALS [\'_CFG\'] [\'goods_name_length\'] ) : $row [\'goods_name\'];
$goods [$idx] [\'short_style_name\'] = add_style ( $goods [$idx] [\'short_name\'], $row [\'goods_name_style\'] );
$goods [$idx] [\'market_price\'] = price_format ( $row [\'market_price\'] );
$goods [$idx] [\'shop_price\'] = price_format ( $row [\'shop_price\'] );
$goods [$idx] [\'thumb\'] = empty ( $row [\'goods_thumb\'] ) ? $GLOBALS [\'_CFG\'] [\'no_picture\'] : $row [\'goods_thumb\'];
$goods [$idx] [\'goods_img\'] = empty ( $row [\'goods_img\'] ) ? $GLOBALS [\'_CFG\'] [\'no_picture\'] : $row [\'goods_img\'];
$goods [$idx] [\'url\'] = build_uri ( \'goods\', array (
\'gid\' => $row [\'goods_id\']
), $row [\'goods_name\'] );

return $goods;

打开系统根目录下index.php文件加入如下代码,如果要在别的页面调用加到别的页面:
$smarty->assign(\'cat_id_goods_list_86\', get_cat_id_goods_list(86,9));
// 指定商品调用
//其中86指的调用的栏目ID,9指的是调用商品的数量。
在首页模版中调用即可,如下:
<!--foreach from=$cat_id_goods_list_86 item=goods-->
<li>   <a href="$goods.url" target="_blank"> <img src="$goods.thumb" /></a> <span class="a_title"> <a href="$goods.url" title="$goods.name|escape:html" target="_blank"> $goods.short_style_name</a> </span> <div style="text-indent: 5px;">市场价 <span class="del">$goods.market_price</span></div> <div style="text-indent: 5px;"><span class="red">售 价 $goods.shop_price</span></div></li>
<!--/foreach-->
参考技术A rtvprtjb krvd nbvy mnbvdbndvc

以上是关于怎么调用woocommerce分类目录,指定分类下的指定商品的主要内容,如果未能解决你的问题,请参考以下文章

ecshop 如何调用商品分类下的子分类里的商品?

ecshop3 调用指定分类下推荐/热卖/新品商品,可指定调用数量

wordpress怎样实现调用指定分类文章里的图片 标题 和摘要

ecshop首页如何调用分类下的子分类商品

用java程序怎么查出父分类下面的所有子分类中的站点信息

WordPress直接访问数据库列出指定分类目录下的所有文章