Вы можете встроить шорткод в пользовательский шорткод с необходимой условной логикой:
add_shortcode( 'my_wheel', 'custom_conditional_wof_wheel' );
function custom_conditional_wof_wheel( $atts ){
$atts = shortcode_atts( array(
'id' => '',
'count' => '4', // 4 cart items by default
), $atts, 'my_wheel' );
// If there is more than 4 items count in cart the shortcode [wof_wheel] is executed
if( WC()->cart->get_cart_contents_count() > $atts['count'] ){
$id = $atts['id'];
return do_shortcode( "[wof_wheel id='$id']" );
}
// Else it display nothing
return '';
}
Код помещается в файл function.php вашей активной дочерней темы (active theme). проверено и работает.
(см. В конце, как я это проверял).
ПРИМЕНЕНИЕ:
1) Для более чем 4 товаров в корзине ( 4 товара по умолчанию устанавливается в шорткоде) :
[my_wheel id="1111"]
2) Для более чем 6 товаров в корзине, например:
[my_wheel id="1111" count='6']
Как это было проверено.
Поскольку я не могу протестировать этот шорткод, полученный от определенного стороннего плагина, я создал [my_wheel]
шорткод, который будет выводить идентификатор, указанный в аргументе шорткода id
:
add_shortcode( 'my_wheel', 'custom_conditional_wof_wheel' );
function custom_conditional_wof_wheel( $atts ){
$atts = shortcode_atts( array(
'id' => '',
'count' => 4,
), $atts, 'my_wheel' );
if( WC()->cart->get_cart_contents_count() > $atts['count'] ){
$id = $atts['id'];
return do_shortcode( "[wof_wheel id='$id']" );
}
return '';
}
Код помещается в файл function.php вашей активной дочерней темы (активной темы).
Затем я добавил [my_wheel id="1111"]
шорткод в текстовом редакторе Wordpress страницы, и я получаю это отображение, когда количество элементов в корзине 5 или больше:
Так оно и работает.