【问题标题】:Woocommerce products shortcode - Divi themeWoocommerce 产品简码 - Divi 主题
【发布时间】:2022-01-27 00:40:13
【问题描述】:

在安装了 Divi 主题的 woocommerce 安装中,我使用的是产品简码:[products limit="-1" columns="3" per_page="12" paginate="true"]。在functions.php 中,我正在尝试使用woocommerce_product_query 过滤显示的产品,但它不起作用。我仍然得到所有产品

function my_pre_get_posts_query2( $query ) {
    $query->set( 'post__in', [245609, 245610]);
}
add_action( 'woocommerce_product_query', 'my_pre_get_posts_query2', 9999, 1 );

【问题讨论】:

  • 您需要在产品简码中添加属性,例如 [products limit="-1" columns="3" per_page="12" paginate="true" ids="245609, 245610"] 对于这个你可以访问,woocommerce.com/document/woocommerce-shortcodes
  • @YagnikSangani 好的,但我怎么能做到动态呢?例如,每个登录的用户都必须看到特定的产品。如何编辑此短代码?
  • 有两种方法可以做到这一点,但这取决于你想如何使用上面的短代码,方法是添加属性“ids”,第二种方法是使用过滤钩子“woocommerce_shortcode_products_query”可以做一些你想添加的条件。你可以在这里找到那个过滤器,woocommerce.com/document/woocommerce-shortcodes
  • 我已经用例子详细回答过了,你可以看我的回答。

标签: php wordpress woocommerce divi


【解决方案1】:

您可以通过两种方式做到这一点:

1.通过在产品列表短代码中添加属性“ids”

[products limit="-1" columns="3" per_page="12" paginate="true" ids="245609, 245610"]

2。通过产品短代码的过滤器钩子添加属性ID

如下所示,

add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_by_specific_ids' );

function woocommerce_shortcode_products_by_specific_ids( $args ) {
    $args['ids'] = array(245609, 245610);
    // if above line not working then try with below line
    // $args['ids'] = "245609, 245610";
    return $args;
}

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    相关资源
    最近更新 更多