带有媒体类别的ACF画廊-如何显示类别和排序

时间:2015-10-22 作者:Ernie

我想使用一些东西来过滤ACF图库中的图像。我添加了增强型媒体库插件,该插件允许我为每个图像分配一个类别,但不清楚如何回显该类别列表,以便单击它并过滤/显示所选类别中的图像。

此外,如何在图像周围的div中回显指定给图像的类别

“我的循环”当前看起来像这样以输出我的库。

如果您能给我的图库中的每个图像分配类别的最佳方法提供任何建议,我将不胜感激(这里的插件最好吗?)以及如何获取这些类别和排序。提前感谢!

<div class="wrapper-gallery" itemscope itemtype="http://schema.org/ImageGallery">
    <?php 

    $images = get_field(\'images\');

    if( $images ): ?>

        <?php foreach( $images as $image ): ?>

            <div class="gallery-image" id="imageGallery">

                <figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">

                    <a href="<?php echo $image[\'url\']; ?>" itemprop="contentUrl" data-size="<?php echo $image[\'width\'] . \'x\' . $image[\'height\']; ?>">
                        <img src="<?php echo $image[\'sizes\'][\'large\']; ?>" itemprop="thumbnail" alt="<?php echo $image[\'alt\']; ?>" />
                    </a>
                    <figcaption itemprop="caption description"><?php echo $image[\'caption\']; ?></figcaption>

              </figure>
        </div>  

        <?php endforeach; ?>

    <?php endif; ?>

2 个回复
SO网友:Stephen S.

如果您知道插件使用的分类名称,您应该能够使用the_terms 非常容易。你基本上可以在两者之间扑通一声<?php foreach( $images as $image ): ?><?php endforeach; ?> 要显示术语的位置:

<?php the_terms($image->ID, \'YOUR_TAXONOMY_NAME\'); ?>

如果你想变得花哨,你可以使用get_the_terms 这让您可以更好地控制事物的显示方式。

SO网友:Ernie

已解决一半:

在本教程之后,我选择创建自己的自定义分类法。http://code.tutsplus.com/articles/applying-categories-tags-and-custom-taxonomies-to-media-attachments--wp-32319 它允许您选择为上载的媒体文件创建自定义类别。在我的例子中,我制作了一个名为“image\\u category”的新类别

然后,这些类别将使用以下命令进行响应:

<div class="gallery-filter">        
    <ul id="filters">
        <li><a href="#" data-filter="*" class="selected">All</a></li>
        <?php 
            $terms = get_terms(\'image_category\' ); // get all categories, but you can use any taxonomy
            $count = count($terms); //How many are they?
            if ( $count > 0 ){  //If there are more than 0 terms
                foreach ( $terms as $term ) {  //for each term:
                    echo "<li><a href=\'#\' data-filter=\'.".$term->slug."\'>" . $term->name . "</a></li>\\n";
                    //create a list item with the current term slug for sorting, and name for label
                }
            } 
        ?>
    </ul>
    </div>
我仍然完全不知道如何让这些类别作为一个类呼应出来。

相关推荐

使用Add_Filters()、Apply_Filter()、Add_action()和do_action()扩展插件

假设我正在开发一个与预订相关的插件。下次我想在那个插件上添加一个附加组件来支付。然后,我为贝宝支付添加了另一个附加组件。假设下面是html中的支付网关UI界面<div class=\"payments-options\"> <div class=\"bank-payment\"></div> <div class=\"cash-on-delivery\"></div> <!--- Here i