在一个页面上列出每个帖子中的所有ACF字段值

时间:2019-06-12 作者:Joe Barrett

我在woocommerce的产品数据表/说明手册下载链接中使用了ACF转发器字段。共有50种产品,每个产品的产品页面上都有1到4个下载链接。我一直在寻找一种方法,在一个页面上列出所有50种产品的所有链接,就像在列表中查询页面上的所有帖子一样。我甚至不知道从哪里开始寻找,也没有在ACF论坛上看到任何具体内容。

2 个回复
最合适的回答,由SO网友:Faye 整理而成

您想开始herehere.

本质上,您只是像普通人一样循环浏览所有帖子,然后向其中添加一些自定义字段。

确保参考Repeater Field documentation.

这应该在循环内工作。请注意,您需要您的帖子ID。

<ul>
    <?php

    if( have_rows(\'YOURREPEATERFIELDNAMEHERE\', \'POSTIDHERE\') ):

        while ( have_rows(\'YOURREPEATERFIELDNAMEHERE\', \'POSTIDHERE\') ) : the_row(); ?>


            <li><?php echo get_sub_field(\'SUBFIELDNAMEHERE\'); ?></li>

       <?php endwhile;

    else :

        // no rows found

    endif;

    ?>


    <?php endwhile; ?>
</ul>

SO网友:Joe Barrett

I used this.

<?php 

$posts = get_posts(array(
    \'posts_per_page\'    => -1,
    \'post_type\'         => \'product\',
    //\'orderby\'         => \'title\',
    //\'order\'           => \'DESC\',
    \'tax_query\' => array( array(
        \'taxonomy\'         => \'product_cat\',
        \'field\'            => \'slug\', // Or \'term_id\' or \'name\'
        \'terms\'            =>  \'winter-products\' // A slug term
        // \'include_children\' => false // or true (optional)
    )),
));

if( $posts ): ?>
    <h3>Winter Products</h3>
    <ul>

    <?php foreach( $posts as $post ): 

        setup_postdata( $post );
        $post_id = get_the_ID();

    ?>


            <?php if( have_rows(\'extra_info\', $post_id) ): ?> 
                <li>

            <strong><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></strong> 

                <ul>

                <?php while( have_rows(\'extra_info\', $post_id) ): the_row(); ?>

                    <li><a href="<?php the_sub_field(\'link_url\'); ?>" target="_blank"><?php the_sub_field(\'link_title\'); ?></a></li>

                <?php endwhile; ?>

                </ul>

            <?php endif; ?>
        </li>

    <?php endforeach; ?>

    </ul>

    <?php wp_reset_postdata(); ?>

<?php endif; ?>

相关推荐

重写规则不起作用:如果文件存在,则重定向到php脚本

我想用add_rewrite_rule 但没有成功。我想实现的是,如果URLwww.myhomepage.com/custom-media-files/2/screenshot_15_1.jpg 将用户重定向到位于www.myhomepage.com/screenshotaccess.php 其中,我检查用户是否具有打开文件的权限。编辑:所以我试着编辑htaccess文件,现在看起来像这样,但仍然不起作用。当文件直接存储在URL后面时,该规则似乎不适用。如果我转到没有文件的URL,则该规则有效。#BEGI