高级自定义字段转发器 - 如何颠倒顺序 (WordPress)

Jor*_*dan 2 php wordpress advanced-custom-fields

我正在使用高级自定义字段转发器插件来创建带有链接的大图像网格。我想要我在顶部创建的最新项目,所以我要问的是如何通过代码颠倒顺序?

任何帮助都会很棒。这是我当前的代码

<?php if( have_rows('shop_product') ):        

            while ( have_rows('shop_product') ) : the_row(); 

        ?>

                <div class="shop-item">
                    <div class="image-hover">
                        <div class="image-hover-inner">

                            <img src="<?php the_sub_field('product_image');?>">

                            <div class="image-caption">
                            <div class="image-caption-inner">
                            <a href="<?php the_sub_field('product_url');?>" target="_blank"><?php the_sub_field('product_brand');?><br>
                            Buy Now</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        <?php endwhile; 
        else :
        endif;
        ?>
Run Code Online (Sandbox Code Playgroud)

ben*_*all 6

您可以使用get_field('my_repeater')将中继器字段作为可以循环的数组来获取。

然后使用 PHP 的array_reverse()函数,你会得到一个可以循环的反向数组。

唯一的区别是您必须将字段作为数组键访问,而不是使用 ACF 的sub_field函数。

对于您的示例:

<?php $products = array_reverse(get_field('shop_product'));

foreach ($products as $product): ?>

    <img src="<?php echo $product['product_image']; ?>">
    <a href="<?php echo $product['product_url']; ?>">Buy now</a>

<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)


小智 5

它可能无法回答实际问题,但可以解决问题。如果您要显示中继器的行,则可以将 CSS display:flex 与 flex-flow:row/column-reverse 一起使用;

因为可能只需要交换订单来显示它

例子:

display:flex;
flex-flow:row-reverse;
Run Code Online (Sandbox Code Playgroud)