sorting - 如果存在,按元在 woocommerce 类别中创建自定义产品排序选项
问题描述
我可以使用官方 woo 文档创建自定义产品排序选项。但是,选择后,仅显示具有自定义元的产品。如果产品不存在自定义元数据,我想按修改时间添加订单。最终结果将是具有自定义元的产品将出现在排序的顶部,所有没有自定义元的产品将在它们按修改时间排序之后出现。
这是功能:
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'custom_meta' == $orderby_value ) {
$args['orderby'] = 'custom_meta';
$args['order'] = 'DESC';
$args['meta_key'] = 'meta_key_num';
}
return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );
function custom_woocommerce_catalog_orderby( $sortby ) {
$sortby['custom_meta'] = 'Custom';
return $sortby;
}
解决方案
推荐阅读
- javascript - JavaScript 中的 For 循环无法正常工作
- cypress - Cypress.io - 如何将文件上传到使用primeng 组件套件的应用程序
- python - Matplotlib axvspan() 函数填写错误的日期
- eloquent - 如何避免 Laravel Eloquent 对具有双向对象关联的同一实体重复数据库获取?
- python - 根据索引替换列表中的项目
- javascript - 自动登录不触发事件?
- python - 修改函数内部的列表
- javascript - Concat 方法返回空字符串,而 + 运算符工作正常
- msal-angular - 将 MSAL 用于 Angular 和 NGXLogger
- bash - MotioneyeOS bash 脚本来调整 raspimjpeg 设置