Я использую этот код в PHP:
$idcat = 147; $thumbnail_id = get_woocommerce_term_meta( $idcat, 'thumbnail_id', true ); $image = wp_get_attachment_url( $thumbnail_id ); echo '<img src="'.$image.'" alt="" width="762" height="365" />';
Где 147
– текущий идентификатор, установленный вручную, но мне нужен текущий идентификатор в других категориях
Вы предлагаете?
Чтобы отобразить изображение категории для текущей отображаемой категории в term_id
archive-product.php
, используйте текущую категорию term_id
когда is_product_category()
истинна:
// verify that this is a product category page if ( is_product_category() ){ global $wp_query; // get the query object $cat = $wp_query->get_queried_object(); // get the thumbnail id using the queried category term_id $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true ); // get the image URL $image = wp_get_attachment_url( $thumbnail_id ); // print the IMG HTML echo "<img src='{$image}' alt='' width='762' height='365' />"; }
Вы также можете использовать foreach loop для изображения категории отображения и т. Д. Из родительской категории, заданной родительским идентификатором.
например, я даю 74 id родительской категории, тогда я покажу изображение из категории потомков и его slug.
**<?php $catTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'child_of'=>'74')); foreach($catTerms as $catTerm) : ?> <?php $thumbnail_id = get_woocommerce_term_meta( $catTerm->term_id, 'thumbnail_id', true ); // get the image URL $image = wp_get_attachment_url( $thumbnail_id ); ?> <li><img src="<?php echo $image; ?>" width="152" height="245"/><span><?php echo $catTerm->name; ?></span></li> <?php endforeach; ?>**
На странице WooCommerce:
// WooCommerce – display category image on category archive add_action( 'woocommerce_archive_description', 'woocommerce_category_image', 2 ); function woocommerce_category_image() { if ( is_product_category() ){ global $wp_query; $cat = $wp_query->get_queried_object(); $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true ); $image = wp_get_attachment_url( $thumbnail_id ); if ( $image ) { echo '<img src="' . $image . '" alt="" />'; } } }
Чтобы предотвратить падение страниц с полной размерной категорией вниз, вы можете использовать меньшие изображения с помощью wp_get_attachment_image_src()
:
<?php $thumbnail_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true ); // get the medium-sized image url $image = wp_get_attachment_image_src( $thumbnail_id, 'medium' ); // Output in img tag echo '<img src="' . image[0] . ' alt="" />'; // Or as a background for a div echo '<div class="image" style="background-image: url("' . $image[0] .'")"></div>'; ?>
Используйте этот код, это может помочь вам. Я прошел идентификатор cat 17.pass woocommerce cat id и thats it
<?php global $woocommerce; global $wp_query; $cat_id=17; $table_name = $wpdb->prefix . "woocommerce_termmeta"; $query="SELECT meta_value FROM {$table_name} WHERE `meta_key`='thumbnail_id' and woocommerce_term_id ={$cat_id} LIMIT 0 , 30"; $result = $wpdb->get_results($query); foreach($result as $result1){ $img_id= $result1->meta_value; } echo '<img src="'.wp_get_attachment_url( $img_id ).'" alt="category image">'; ?>
Чтобы отобразить изображение категории Woocommerce
используйте этот код –
add_action('woocommerce_archive_description', 'woocommerce_category_image', 20); function woocommerce_category_image() { global $product; if (is_product_category()) { global $wp_query; $cat = $wp_query->get_queried_object(); $thumbnail_id = get_woocommerce_term_meta($cat->term_id, 'thumbnail_id', true); $image = wp_get_attachment_url($thumbnail_id); if ($image) { echo '<img src="' . esc_url($image) . '" alt="" />'; } } }