如何使用ACF将自定义字段添加到woocommerce商店页面

时间:2019-07-10 18:49:16

标签: php wordpress woocommerce advanced-custom-fields

为了将高级自定义字段集成到woocommerce商店页面,我遇到了一些困难。 我的代码是重复器字段,我需要将其添加到商店页面的顶部,但这不起作用。 我已经尝试过添加页面ID,但没有任何反应。 任何帮助或建议,我们将不胜感激。

我已经在子主题中创建了一个woocommerce文件夹,我正在尝试将此代码添加到archive-product.php模板中。

<div class="container accueil">

        <h2 class="titre-section">Tous nos saveurs à un seul clic !</h2>

        <div class="row products-categories">

            <?php if( have_rows('categories_menu') ): ?>



                <?php while( have_rows('categories_menu') ): the_row(); 

                    // vars
                    $titre = get_sub_field('titre_categorie');
                    $image = get_sub_field('image_categorie');
                    ?>
                    <a class="link-cat" href="/carte/">
                    <div class="col-md-4 product-cat" style="background-image: url(<?php echo $image['url']; ?>);">
                        <h2 class="cat-title"><?php echo $titre; ?></h2>    
                    </div>
                    </a>
                <?php endwhile; ?>

            <?php endif; ?>

        </div>
    </div>

我没有错误消息。

1 个答案:

答案 0 :(得分:0)

您需要获取Woo-commerce商店页面ID,然后将这些ID传递给每个get_field和行

<?php if(is_shop()){ ?>
<div class="container accueil">

        <h2 class="titre-section">Tous nos saveurs à un seul clic !</h2>

        <div class="row products-categories">

            <?php $post_id = get_option( 'woocommerce_shop_page_id' ); ?>

            <?php if( have_rows('categories_menu', $post_id) ): ?>

                <?php while( have_rows('categories_menu', $post_id) ): the_row(); 

                    $titre = get_sub_field('titre_categorie', $post_id);
                    $image = get_sub_field('image_categorie', $post_id);
                    ?>
                    <a class="link-cat" href="/carte/">
                    <div class="col-md-4 product-cat" style="background-image: url(<?php echo $image['url']; ?>);">
                        <h2 class="cat-title"><?php echo $titre; ?></h2>    
                    </div>
                    </a>
                <?php endwhile; ?>

            <?php endif; ?>

        </div>
    </div>
<?php } ?>