- Windows 本地安装 Kibana 查询 Elasticsearch
- Windows 本地安装和使用 Elasticsearch
- WooCommerce 请登录 链接不工作
- 使 WooCommerce 订单搜索支持自定义字段
- 如何使用 WooCommerce Session
- 获取 WooCommerce 页面地址的方法
- WooCommerce后台通过自定义字段检索产品
- WooCommerce 自定义订单号
- WooCommerce Login / Register Redirect
- WooCommerce自带的shortcodes
- WooCommerce 打印订单
- WooCommerce 新用户注册管理员通知
- WooCommerce 移除产品页商品图片的url
- WooCommerce Email 模版增加全局内容的一个方法
- 错误:Call to a member function is_visible() on a non-object
- WooCommerce实用代码集合
- WooCommerce根据支付方式收取额外费用(2021)
- WooCommerce 订单管理
- WooCommerce移除登出账户的确认提示
- WooCommerce列出所有产品分类(2021)
- WooCommerce收据功能的实现
- WooCommerce Dynamic Pricing动态价格表(2021)
- 如何免费试用WordPress付费插件
- 写代码定制WooCommerce产品页模板(2021)
- 自定义WooCommerce Order Details模板明细部分(2021)
- WooCommerce Class WC_Order
- WooCommerce 产品搜索支持 SKU
- WooCommerce定制产品的Additional Information选项卡(2021)
- WooCommerce 定制产品页选项卡(2021)
- WooCommerce admin bar快捷菜单
- WooCommerce库存管理插件Stock Manager for WooCommerce(2021)
- WordPress备份插件UpdraftPlus(2021)
- 隐藏WooCommerce的购物功能
- WooCommerce目录模式Catalog Mode(2021)
- 构建基于WooCommerce和WPML的多语言电商网站 - 概述篇
- 构建基于WooCommerce和WPML的多语言电商网站 - 安装WooCommerce和测试数据
- 配置WordPress运行环境 - Wampserver安装图解
- 构建基于WooCommerce和WPML的多语言电商网站 - 安装和配置 WPML 插件
- 构建基于 WooCommerce 和 WPML 的多语言电商网站 - 使 WooCommerce 和 WPML 协同工作
- WooCommerce Paypal & RMB
- WooCommerce 2.0 来袭
- 如何修改 WooCommerce 插件的模版
- WooCommerce 显示每个产品的总销量
- WooCommerce 中的 Custom JavaScript Event
- WooCommerce Authorize.net CIM Gateway
- 用WooCommerce Fees API 添加手续费
- WooCommerce 产品加入购物车后直接结账
- 设置 Paypal Sandbox 测试 WooCommerce Subscription 产品
- WooCommerce Conditional Tags 详解
- WooCommerce Single Category Selector
- WooCommerce 自定义结账字段(2021)
- WooCommerce 将产品属性加入网站菜单(2021)
- WooCommerce Product API(2021)
- WooCommerce 添加附加费 surcharge(2021)
- WooCommerce 安装中文语言包(2021)
- WooCommerce 营销:订阅促销弹窗和潜在客户发掘(2021)
- WooCommerce 邮件定制、预览和测试(2021)
- WooCommerce 在线站点付款测试(2021)
- WooCommerce Product Archive Image Slider(2021)
- woocommerce_form_field() examples
- WooCommerce 商店页插入 shortcode 问题
- WooCommerce 在 Email Header 中获取用户信息
- WooCommerce 自定义结账字段图文详解
- WooCommerce 2.1.12 - 如何修改相关产品列表
- 修改 WooCommerce My Account 页面的地址格式
- Woocommerce:如何根据国家设置支付方式
- Woocommerce 支付宝插件初探
- 支付宝集成 如何在回调地址中使用自定义参数
- Woocommerce Settings API 如何使用
- Woocommerce 中文货币符号错误如何解决
- WooCommerce 如何扩展支付方式
- Woo commerce 搭建 WordPress 电子商务网站
- WooCommerce 查看所有用户购物车(2021)
- WooCommerce 最近一个月销量排行(2021)
- WooCommerce 后台自定义产品选项(2021)
- WooCommerce 自定义产品列表带分页(2021)
- WooCommerce 设置 - 自定义选项卡和字段(2021)
- WooCommerce My Account Menu Links 定制方法(2021)
- WooCommerce 产品列表增加数量字段
- WooCommerce 可变产品变种的数量限制
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
WooCommerce列出所有产品分类(2021)
宜家的分类列表很好看,想模仿一下,于是就有了今天这篇文章——写一个能列出WooCommerce所有产品分类的shortcode,做一个所有分类页面,最终效果如下图所示。
列出所有产品分类的代码
class Sola_All_Category_List{
private $args;
public function __construct(){
add_shortcode( 'sola-all-category-list', [$this, 'all_categories'] );
}
function get_args(){
return $this->args;
}
function get_default_args(){
return $args = array(
'taxonomy' => 'category',
'meta_key' => 'order',
'orderby' => 'meta_value_num',
'hide_empty' => 0
);
}
function all_categories( $atts ){
$args = shortcode_atts( $this->get_default_args(), $atts );
$args['empty'] = $args['empty'] ? true : false;
$this->args = $args;
$all_categories = $this->get_all_categories();
$taxonomy = $this->args['taxonomy'];
ob_start();
echo '<div>';
foreach ( $all_categories as $cat ) {
if( $cat->category_parent == 0 ) {
$parent_category_id = $cat->term_id;
echo '<div>
<a
href="'. get_term_link( $cat->slug, $taxonomy ) .'">'. $cat->name .'</a>';
$sub_cats = $this->get_sub_categories( $parent_category_id );
if( $sub_cats ) {
echo '<div>';
foreach( $sub_cats as $sub_category ) {
echo '<a
href="'. get_term_link( $sub_category->slug, $taxonomy ) .'">' . $sub_category->name . '</a>' ;
}
echo '</div><!-- .sola-clist__sub_level -->';
}
echo '</div><!-- .sola-clist__item_wrapper -->';
}
}
echo '</div><!-- .sola-clist -->';
?>
<style>
.sola-clist{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.sola-clist__item_wrapper{
width: calc(50% - 12px);
min-height: 100px;
}
.sola-clist__item.toplevel{
font-weight: bold;
font-size: 20px;
display: block;
border-bottom: 1px solid currentColor;
}
.sola-clist__item.sub-level{
display: inline-block;
width: 50%;
padding: 1rem;
}
.sola-clist__item{
text-decoration: none !important;
}
@media (max-width: 768px){
.sola-clist__item_wrapper{
width: 100%;
}
}
</style>
<?php
return ob_get_clean();
}
function get_all_categories(){
$args = $this->get_args();
$args['parent'] = 0;
return get_categories( $args );
}
function get_sub_categories( $parent_category_id ){
$args = $this->get_args();
$args['parent'] = $parent_category_id;
$sub_cats = get_categories( $args );
if( is_array($sub_cats) && sizeof($sub_cats ) ){
return $sub_cats;
}
return false;
}
}
new Sola_All_Category_List();
简单说明一下代码:
- 代码定义了一个shortcode [ sola-all-category-list ],function all_categories()是输出shortocde html的函数。
- 在all_categories()函数内置了样式,你可以删掉这部分,把样式写进自己的主题。
- 代码先获取所有顶级分类,然后循环显示第二级分类,注意本代码只能显示到第二级分类。
- 代码默认显示空分类,不想显示的话给shortcode传递阐述hide_empty=0。
- 本代码可以显示任何具有父子关系的taxonomy,例如默认的taxonomy是category,想显示WooCommerce的分类就传product_cat进去。
如何使用
在WordPress编辑器里输入以下shortcode即可。
[sola-all-category-list taxonomy="product_cat" hide_empty=0]
参考资料:
get_terms()的参数列表
Get WooCommerce product categories from WordPress
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论