我正在尝试按年份降序(不是完整日期,只有年份)然后按SKU升序对特定类别页面的产品进行排序。
这个想法是按年份对产品进行分组,在这个组中,按sku对它们进行排序。
我找到了一种针对特定类别的方法,以及通过提升SKU订购产品的代码。因为我是新的PHP我仍然在努力找出如何按年排序(再次,不是完整的日期)和如何
下面是我正在使用的代码:
if( is_product_category('19')) {
$args['meta_key'] = '_sku';
$args['orderby'] = 'meta_value';
$args['order'] = ‘ASC’;
return $args;
}
我还发现留档(https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters)与一个例子,按标题和menu_order不同的排序顺序,但我不知道如何整合这在以前的代码
$args = array( 'orderby' => array( 'title' => 'DESC', 'menu_order' => 'ASC' ) );
$query = new WP_Query( $args );
任何帮助将不胜感激,感谢阅读我!
朱利安
使现代化
我试图解决我的问题,我找到了一种方法,这不是100%令人满意,但仍然有效。我明白了如何用不同的排序顺序链接两个不同的订单集,但我仍然不知道如何按年订购。
作为一种方法,我使用«
add_filter('woocommerce_get_catalog_ordering_args', 'test_woocommerce_catalog_orderby');
function test_woocommerce_catalog_orderby( $args ) {
if( is_product_category('19')) {
$args['meta_key'] = '_sku';
$args['orderby'] = ['menu_order' => 'DESC', 'meta_value' => 'ASC'];
return $args;
} }
它首先通过menu_order字段(降序)对我的产品进行排序,然后通过升序sku对具有相同menu_order的所有产品进行排序。
它完全是我想要的,但是手动填充每个产品的menu_order有点乏味,所以我仍然为更好的解决方案敞开大门!
再次感谢
这会解决你的问题。在函数中添加以下函数。php活动父/子主题。
function filter_products_by_year_sku( $q ) {
if(!is_product_category( 'shirts' )) return; // Run this only if we are on shirts category
$query = $q->get('query');
$meta_query = $q->get( 'meta_query' );
$meta_query[] = array(
'key' => '_sku',
);
$q->set( 'year', date('Y') );
$q->set( 'meta_query', $meta_query);
$q->set( 'orderby', 'meta_value date' );
$q->set( 'order', 'DESC' ); // by default is ASC so comment if you want ASC.
}
add_action( 'woocommerce_product_query', 'filter_products_by_year_sku' );
我在WooCommerce的后端有一个自定义元框。目前,我已将其设置为显示单个产品页面中的一些数据。 我用过
我对give all products有wp_查询请求,需要对这两个字段进行排序:按类别 在简单查询中: 在全局$product中,存在字段“菜单\订单”,但不存在字段“产品\目录”。 我可以用wp_query吗?或者也许存在另一种方法?
是否有一种方法可以修改WooCommerce产品的短码,以便根据产品SKU的列表订购? 搜索引擎向页面发送带有SKU列表的帖子。页面应该按照http post的相同顺序显示产品。 php和mysql select示例(类似这样的代码在我的旧商店系统中工作,在那里我可以使用SQL语法): 如何使用woocommerce的products shortcode执行“OrderBy”,或者是否有更好的方法
对于我的WC产品页面,我需要向body标记添加一个类,以便执行一些自定义样式。这是我为这个创建的函数。。。 …但是我怎么才能拿到猫的身份证呢?
在函数的单个产品页面中获取产品的SKU时,我遇到了很多麻烦。php。我有多个单一产品页面,我希望根据产品显示不同的文本。我已经创建了一个子主题,我正在处理函数。php文件。我不熟悉wordpress和编辑主题,所以我还不太了解操作顺序。我能够让代码循环运行,并为所有产品提供所有SKU,但这与我所处的实际页面无关。 我试过很多东西。常见的解决方案似乎是: 但那不起作用。由于某些原因,$producs
我在我的活动主题文件: 我正在尝试按Desc对产品进行排序,但产品仍然默认排序(ASC)。 如何按描述对它们进行排序?