i have create custom field (textfield) in woocommerce category, which im trying to get in home where i have display woocommerce category with thumbnails and name in loop, which lists all woocommerce category in home page, but im unable to display acf custom field create in category within this loop so that is easily display acf custom field with this category loop.
when i paste following code in woocommerce shop page (archive-product.php) i easily get acf custom field but when i paste same code in home page i get nothing.
<?php $product_cat_object = get_queried_object(); ?> <?php the_field('custom_link', 'product_cat_' . $product_cat_object->term_id); ?>
Category loop code which i used for getting woocommerce category with thumbnail and title:
<?php $prod_categories = get_terms( 'product_cat', array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1 )); foreach( $prod_categories as $prod_cat ) : $cat_thumb_id = get_woocommerce_term_meta( $prod_cat->term_id, 'thumbnail_id', true ); $cat_thumb_url = wp_get_attachment_thumb_url( $cat_thumb_id ); $term_link = get_term_link( $prod_cat, 'product_cat_' ); $term_id = get_queried_object()->term_id; ?> <img src="<?php echo $cat_thumb_url; ?>" alt="" class="w-100 d-block"/> <h4><?php echo $prod_cat->name; ?></h4> <?php endforeach; wp_reset_query(); ?>
I need to display acf custom-field create in woocommerce category in this loop..
so, can anyone share the knowledge how can i do that……
I solve a similar problem, only with tags.
I searched for a solution for almost 2 hours (I didn’t find it), I didn’t find any examples, but I managed to solve my problem myself!
If it helps:
is_main_tag – field name
product_tag_ – suffix (described at the bottom of the page https://www.advancedcustomfields.com/resources/get_field/).
$post_id = false; // current post
$post_id = 1; // post ID = 1
$post_id = “user_2”; // user ID = 2
$post_id = “category_3”; // category term ID = 3
By analogy, he suggested and tried his type (woocommerce) of taxonomy and helped!
$ value = get_field (“is_main_tag”, ‘product_tag _’. $ id);
In your case, it will most likely help:
$ value = get_field (“name_of_your_field”, ‘product_cat_’. $ id);
I hope this helps you!
Good luck colleague!
thank for the reply,but i have already solve it next i post it…., your solution is bit similar, i just added following code in my loop and it did the magic.
$category = get_term_by('slug', $prod_cat->name ,'product_cat'); $custom_field = get_field('your_custom_field', $category ); echo $custom_field;
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
© 2020 Advanced Custom Fields. Subscribe