Настройте связанные продукты с помощью пользовательского мета-запроса в Woocommerce. - PullRequest
0 голосов
/ 24 декабря 2018

Я пытался настроить связанные продукты в WooCommerce.Я использовал woocommerce_output_related_products_args для добавления параметров meta_query, но они не действуют, это мой код:

add_filter( 'woocommerce_output_related_products_args', 
'custom_related_products_args' );
 function custom_related_products_args( $args ) {
$args['posts_per_page'] = 4;
$args['columns'] = 4;
$args['meta_query'] = array(
    array(
        'key' => 'public_catalog',
        'value' => true
    ),
); 
return $args;}

1 Ответ

0 голосов
/ 25 декабря 2018

Правильный хук фильтра для изменения запроса связанных продуктов: woocommerce_product_related_posts_query…. Чтобы задать мета-запрос поста, вы будете использовать следующее (см. Примечание в конце) :

add_filter( 'woocommerce_product_related_posts_query', 'alter_product_related_posts_query', 10, 3 );
function alter_product_related_posts_query( $query, $product_id, $args ){
    global $wpdb;

    $query['join']  .= " INNER JOIN {$wpdb->postmeta} as pm ON p.ID = pm.post_id ";
    $query['where'] .= " AND pm.meta_key = 'public_catalog' AND meta_value LIKE '1' ";

    return $query;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

Примечание: В бэкэнде (Admin) под Woocommerce> Status> Tools> "WooCommerce transients" нажмите «Очистить переходные процессы»Кнопка

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