У меня есть сайт WordPress с установленным WooCommerce. Есть несколько глобальных атрибутов со спецификацией продукта. Я хочу вызвать их как текст в длинном описании, используя шорткод.
Вот то, что я могу получить. Тем не менее, он показывает только метку только для одного атрибута, и я хочу включить несколько атрибутов в их метки атрибутов.
/**
* Attribute shortcode callback.
*/
function testfunction( $atts ) {
global $product;
if( ! is_object( $product ) || ! $product->has_attributes() ){
return;
}
// parse the shortcode attributes
$args = shortcode_atts( array(
'attribute' => ''
), $atts );
// start with a null string because shortcodes need to return not echo a value
$html = '';
if( $args['attribute'] ){
// get the WC-standard attribute taxonomy name
$taxonomy = strpos( $args['attribute'], 'pa_' ) === false ? wc_attribute_taxonomy_name( $args['attribute'] ) : $args['attribute'];
if( taxonomy_is_product_attribute( $taxonomy ) ){
// Get the attribute label.
$attribute_label = wc_attribute_label( $taxonomy );
// Build the html string with the label followed by a clickable list of terms.
// heads up that in WC2.7 $product->id needs to be $product->get_id()
//echo strip_tags( get_the_term_list( $product->id, $taxonomy, $attribute_label . ' ' , ', ', '' ));
if ($attribute = Test){
echo $product->get_attribute('Test');
}
elseif ($attribute = Test1){
return $product->get_attribute('Test1');
}
}
}
return $html;
}
add_shortcode( 'display_attribute', 'testfunction' );
Ссылка 1: Woocommerce - отображать один или несколько атрибутов продукта с короткими кодами в Интерфейс
[Ссылка 1], который я упомянул выше, позволяет мне выбирать несколько атрибутов с несколькими метками атрибута, как я хочу, но при этом проблема только в состоит в том, что он также включает имя атрибута, которое У меня не может быть.
Короче говоря, я хотел бы получить «несколько меток атрибута» , но без включения самого атрибута в текст обратного вызова . Любая подсказка?