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

function woocommerce_output_related_products() {

    $args = array(
        'posts_per_page' => 4,
        'columns'        => 4,
        'orderby'        => 'rand', // @codingStandardsIgnoreLine.
        'post__not_in' => array(502,281)
    );

    woocommerce_related_products( apply_filters( 'woocommerce_output_related_products_args', $args ) );
}

пировал эту функцию изincludes/wc-template-functions.phpв функции моей темы.

Чтобы убедиться, что мои изменения будут работать, я изменилposts_per_page на 3, и он запросил только 3 вместо 4.

Мне нужно исключить несколько продуктов, ноpost__not_in не работает.

Я делаю что-то неправильно? Как еще можно исключить продукты, использующие эту функцию?

Я выводю продукты с этой функцией:woocommerce_output_related_products();

такая неприятная проблема. Я просто не могу исключить продукты отсюда. кто-нибудь может помочь?

Я тоже попробовал это:

add_filter( 'woocommerce_output_related_products_args', function( $args ) { 
    $args = wp_parse_args( array(  "post__not_in" => array('502','281') ), $args );
    return $args;
});

я сделал print_r ($ args), и он показал, что мой "post__not_in" был добавлен, но продукты все еще там. У меня есть правильное удостоверение личности.

Ответы на вопрос(1)

Ваш ответ на вопрос