хук woocommerce_output_related_products_args не работает должным образом - PullRequest
0 голосов
/ 21 июня 2019

Я хочу показать определенный продукт с идентификатором 64391 в разделе сопутствующих товаров, но следующий код не работает для этого. Я что-то упустил?

 add_filter( 'woocommerce_output_related_products_args','msrp_reconfigure_related_products_args', 20 );

     public function msrp_reconfigure_related_products_args($args)
      {

        $args['posts_per_page'] = 5; 
        $args['columns'] = 5;
        $args['post__in'] = array(64391);

        return $args;
}

1 Ответ

0 голосов
/ 22 июня 2019

Как вы можете найти в основном источнике WC . Хук фильтра woocommerce_output_related_products_args срабатывает через файл wc-template-functions.php и передает его в функцию woocommerce_related_products. Таким образом, параметр $args не является аргументами, используемыми в запросе базы данных, и вы не можете использовать ключ post__in в нем.

Вместо этого, чтобы добавить определенные продукты в раздел связанных продуктов, вы можете использовать фильтр woocommerce_related_products, как показано ниже:

add_filter('woocommerce_related_products', 'add_related_products');
function add_related_products($related_product_ids)
{
    // WC source code stores IDs as string in this array, so I did that too
    $related_product_ids[] = '81';
    return $related_product_ids;
}

Протестировано и работает.

Примечание: Этот фильтр-хук имеет 3 параметра: $related_posts, $product_id и $args. Вы можете ограничить показ этих новых продуктов только на страницах отдельных продуктов, отметив $product_id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...