Woocommerce: как настроить связанные продукты на основе значения настраиваемого поля? - PullRequest
0 голосов
/ 26 сентября 2019

Я бы хотел показывать в качестве связанных продуктов только те элементы, которые имеют одинаковое значение настраиваемого поля для текущего продукта.Пример: я создам настраиваемое поле с именем [animal].Затем я назначу животное для каждого продукта всех категорий.Если я нахожусь на странице, скажем, кружки для собак (мета-ключ «животное», мета-значение «собака»), я хотел бы показать в качестве сопутствующего продукта другие кружки для собак, а также футболки для собак, плакат для собак ивсе продукты, которые содержат собаку в пользовательском поле [animal].

Я пытался редактировать эту часть шаблона соответствующего продукта в моей теме:

//$related = $product->get_related( $posts_per_page );
$animal = get_post_meta( $product->get_id(), 'animal', true );

if ( sizeof( $related ) === 0 ) return;

$args = apply_filters( 'woocommerce_related_products_args', array(
'post_type'            => 'product',
'ignore_sticky_posts'  => 1,
'no_found_rows'        => 1,
'posts_per_page'       => $posts_per_page,
//'post__in'             => $related,
'meta_query' => array(
 array(
    'key' => 'animal',
    'value' => $animal,
    'compare' =>'='
    )
  ),
    'post__not_in'         => array( $product->get_id() )
) );

Но ничего не произошло, дажесообщение об ошибке.И я не уверен, что это лучший способ сделать это или лучше использовать метод add_action в файле функций.

...