使用ACF的Woocommerce产品的顶级类别和子类别图像

时间:2018-11-13 14:40:43

标签: wordpress woocommerce advanced-custom-fields

我正在将Woocommerce和ACF一起使用。我需要将图像显示为每个产品类别的类别图像。 通过您的社区论坛后,我对下面的代码感到满意。

<?php 
    if ( is_product_category() ) {
        // vars
        $queried_object = get_queried_object(); 
        $taxonomy = $queried_object->taxonomy;
        $term_id = $queried_object->term_id; 
    }

    $custom_cat_title = get_field('page_header_image', $taxonomy . '_' . $term_id);
?>

<?php if ($custom_cat_title): ?>

    <div class="page-title bwp-title custom-bg-cover" style="background-image:url(<?php echo $custom_cat_title; ?>);">
        <div class="container" >
            <div class="titlewrapper" >
                <?php if(!is_single() ) :  ?>
                    <h1>
                        <?php echo single_cat_title(); ?>
                    </h1>
                <?php endif; ?>
            </div><!-- .titlewrapper -->    
        </div><!-- .container -->

    </div><!-- Page Title -->   

<?php endif; ?>

我还需要一件事,我还无法弄清楚。那就是要为父类别上载图像,以便其子类别自动使用-如果这些子类别没有自己的图像。

我不是PHP方面的专家,但是如果看到的话,我可以按照说明和示例进行操作。你能指点我可以去的方向吗?

谢谢

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找这个

<?php
    if ( is_product_category() ) {
        // vars
        $queried_object = get_queried_object();
        $taxonomy = $queried_object->taxonomy;
        $term_id = $queried_object->term_id;
    }

    // Image
    $custom_cat_title = get_field('page_header_image', $taxonomy . '_' . $term_id);

    if( empty( $custom_cat_title ) ) {

        $parent = $queried_object->parent;

        // Parent image
        $custom_cat_title = get_field( 'page_header_image', $taxonomy . '_' . $parent );
    }

?>

<?php if ($custom_cat_title): ?>

    <div class="page-title bwp-title custom-bg-cover" style="background-image:url(<?php echo $custom_cat_title; ?>);">
        <div class="container" >
            <div class="titlewrapper" >
                <?php if(!is_single() ) :  ?>
                    <h1>
                        <?php echo single_cat_title(); ?>
                    </h1>
                <?php endif; ?>
            </div><!-- .titlewrapper -->
        </div><!-- .container -->

    </div><!-- Page Title -->

<?php endif; ?>

这将查找当前术语图像。如果没有图片,它将从父项中查找图片。