Как использовать постоянную ссылку на базовый продукт в функции связанных элементов WooCommerce - PullRequest
1 голос
/ 09 мая 2020

Мне было интересно, как переопределить функцию постоянной ссылки на пакеты продуктов по умолчанию. Для этого я использую плагин Woocommerce Product bundles.

Функция по умолчанию из "class-w c -bundled-item" такова:

/**
 * Item permalink.
 *
 * @since  5.5.0
 *
 * @return string
 */
public function get_permalink() {
    /**
     * 'woocommerce_bundled_item_permalink' filter.
     *
     * @param  string           $permalink
     * @param  WC_Bundled_Item  $this
     */
    return apply_filters( 'woocommerce_bundled_item_permalink', $this->is_visible() && $this->product->is_visible() ? $this->product->get_permalink() : '', $this );
}

Я хочу переопределить эту функцию в моем файле functions. php. К сожалению, он возвращает постоянную ссылку на комплект продукта, а не из связанного (нижележащего) продукта.

Это код, который я пробовал:

add_filter( 'woocommerce_bundled_item_permalink', 'get_bundle_product_permalink' );
function get_bundle_product_permalink() {
    return get_permalink();
}

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 11 мая 2020

Что-то вроде этого?

/* Set the visibility function */
function filter_woocommerce_product_is_visible( $visible, $this_get_id ) {
    return apply_filters( 'woocommerce_bundled_item_permalink', '__return_true' );
}; 
add_filter( 'woocommerce_product_is_visible', 'filter_woocommerce_product_is_visible', 10, 2 ); 
0 голосов
/ 09 мая 2020
add_filter( 'woocommerce_product_is_visible', '__return_true' );

Попробуйте этот фрагмент кода, чтобы обойти проверку is_visble

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