php - shortcodes - WordPress/Woocommerce: cómo obtener una categoría hija específica por ''id'' de la identificación de la categoría padre
woocommerce shortcodes plugin (0)
Encontré un buen código (que se muestra a continuación) de este sitio web .
Funciona muy bien, pero necesito obtener una categoría infantil específica por ''id''. Por ejemplo, si el resultado del código es:
Rojo Azul Verde Amarillo
Cómo obtener solo verde porque necesito hacer otra consulta para usarlo en
''tax_query''=>array(''field''=>''id'')
Aquí está la función:
//woocommerce get sub categories from parent id
function woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) {
$args = array(
''hierarchical'' => 1,
''show_option_none'' => '''',
''hide_empty'' => 0,
''parent'' => $parent_cat_ID,
''taxonomy'' => ''product_cat''
);
$subcats = get_categories($args);
foreach ($subcats as $sc) {
$link = get_term_link( $sc->slug, $sc->taxonomy );
echo $sc->name.''</br>'';
}
}
Aquí está el código donde tengo que obtener la identificación específica de la categoría:
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
global $product;
$product = $cart_item[''data''];
if ( has_term( ''phone-model'', ''product_cat'', $product->id ) ) {
$cat_check = true;
$term_list = wp_get_post_terms( $product->id,''product_cat'',array(''fields''=>''ids''));
$cat_id = (int)$term_list[0];
$funspecificsub = woocommerce_subcats_from_parentcat_by_ID($cat_id);
$args = array(
''post_type'' => ''product'',
''posts_per_page'' => -1,
''tax_query'' => array(
array(
''taxonomy'' => ''product_cat'',
''field'' => ''id'', //This is optional, as it defaults to ''term_id''
''terms'' => $funspecificsub,
''include_children'' =>true
)
)
);
$loop = new WP_Query( $args );
$i=1;
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
if($product->is_visible()){
echo ''<li style=">'';
echo ''<a id="cover_''.$i.''" class=" ''.$product->id.''" >'';
echo ''<div class="">''.get_site_url().''/?add-to-cart=''.$product->id.''</div>'';
echo ''<h5>''.get_the_title().''</h5>'';
echo ''<h6>''.wc_price($product->get_price_including_tax(1,$product->get_price())).''</h6>'';
echo ''</a>'';
echo ''</li>'';
}else{}
$i++;
endwhile;
wp_reset_query();
}
}
Así que supongo que la pregunta principal es cómo obtengo el id. De categoría ''Verde'' en la variable $ funspecificsub de arriba. Por el momento está dando salida a todas las categorías Sub. Quiero poder seleccionar una Subcategoría específica.