【问题标题】:Looping through categories - displaying related image and title循环遍历类别 - 显示相关图像和标题
【发布时间】:2021-05-26 17:14:00
【问题描述】:

我为一个客户创建了一个展览网站,其中包含分类的参展商(使用 Wordpress 的 Post / Categories 功能),并使用 ACF 我为每个类别创建了一个相关的横幅图像。 (请参阅下面的代码)。

在另一个 STATIC PAGE(名称为slug)“exhibitor-categories”上,我想循环浏览客户创建并显示的所有类别;

  1. 每个相关的相关细横幅类别图片,
  2. 用适当的(php single_cat_title();),
  3. 包含在(固定链接)到此相关类别中。

请问我该怎么做?

<?php get_header(); ?>

<?php
// Category Banner Image
$term = get_queried_object();
// Banner Image
$banner_image = get_field('midsummer_category_banner_image', $term); 
$banner_image_size = 'med-sm';   
$banner_image_src = wp_get_attachment_image_src( $banner_image, $banner_image_size );
$banner_image_srcset = wp_get_attachment_image_srcset( $banner_image, $banner_image_size ); 
$banner_image_alt_text = get_post_meta( $banner_image, '_wp_attachment_image_alt', true);
$banner_image_meta = wp_get_attachment_metadata( $banner_image );
$banner_image_title = get_the_title( $banner_image );
?>
<!-- Main Page Content -->
<main>
    <!-- Category Banner -->
    <div class="category-banner">
        <img src="<?php echo esc_url( $banner_image_src[0] ); ?>" srcset="<?php echo esc_attr( $banner_image_srcset ); ?>" sizes="100vw" alt="<?php echo $banner_image_alt_text ?>">
        <!-- Category Banner Title -->
        <div class="category-centered-banner-info">
            <h2><?php single_cat_title(); ?></h2>
        </div>
    </div>
    <!-- Exhibitor Tiles -->
    <section>
            <div class="exhibitor-tiles">
                <div class="exhibitor-tiles-wrapper">
                    <!-- Exhibitors -->
                    <?php if(have_posts()) : while ( have_posts() ) : the_post();?>
                    <?php get_template_part('includes/category','exhibitors');?>
                    <?php endwhile; else: endif;?>
                </div>
            </div>
    </section>
</main>

<?php get_footer(); ?>

【问题讨论】:

    标签: php wordpress foreach categories


    【解决方案1】:

    试试这个

    $banner_image = get_field('midsummer_category_banner_image', "category_".$term->ID);
    

    【讨论】:

    • 谢谢,我在阅读本文之前解决了我的问题,但我认为这种方式也可以针对图片。
    【解决方案2】:

    设法解决了我想要实现的目标,所以我想我会发帖以可能帮助他人。

    这就是我实现它的方法;

    <?php
    $categories = get_categories(); foreach ($categories as $category) {
    ?>
        // Category Banner Image
        $cat_banner_image = get_field('midsummer_category_banner_image', $category);   
        $cat_banner_image_size = 'med-sm';   
        $cat_banner_image_src = wp_get_attachment_image_src( $cat_banner_image, $cat_banner_image_size );
        $cat_banner_image_srcset = wp_get_attachment_image_srcset( $cat_banner_image, $cat_banner_image_size ); 
        $cat_banner_image_alt_text = get_post_meta( $cat_banner_image, '_wp_attachment_image_alt', true);
        $cat_banner_image_meta = wp_get_attachment_metadata( $cat_banner_image );
        $cat_banner_image_title = get_the_title( $cat_banner_image );
    ?>
        <!-- Category Banner Buttons -->
        <a class="category-banner-button" href="<?php echo site_url() ?>/<?php echo $category->slug; ?>">
            <!-- Midsummer Category Banner Image -->
            <img src="<?php echo esc_url( $cat_banner_image_src[0] ); ?>" srcset="<?php echo esc_attr( $cat_banner_image_srcset ); ?>" sizes="100vw" alt="<?php echo $cat_banner_image_alt_text ?>">
            <!-- Category Title -->
            <h2 class="category-banner-button-title"><?php echo $category->name; ?></h2>
        </a>
        <?php } ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 2013-07-16
      • 1970-01-01
      • 2011-10-05
      相关资源
      最近更新 更多