用于网格的ACF循环,获取/显示自定义字段

时间:2019-10-09 14:35:51

标签: wordpress advanced-custom-fields

我在我的Wordpress模板中使用这段代码:

<?php
    $args = array( 'numberposts' => '12', 'post_type' => 'training', 'post_status' => 'publish' );
    $recent_posts = wp_get_recent_posts( $args );
    foreach( $recent_posts as $recent ) {
        echo '<div class="col-xs-12 col-md-4"><article><div class="kartel"><a href="' . get_permalink($recent["ID"]) . '">';
        if ( has_post_thumbnail( $recent["ID"]) ) {
              echo  get_the_post_thumbnail($recent["ID"],'medium');
        }
        echo '</a></div><a href="' . get_permalink($recent["ID"]) . '"><h3>' .   $recent["post_title"].'</h3></a> ';

        echo '<em>Doelgroep //</em>
        <p>One-liner/super korte omschrijving</p>';
        echo '<a href="' . get_permalink($recent["ID"]) . '">Tell me more</a> ';
        echo '</article></div>';
    }
    wp_reset_query();
?>

现在,我想添加一个自定义字段(假设为“ custom_field”),该字段在网格的缩略图下方显示一个自定义摘录。我可以获取通常的字段(摘录,标题等),但不能获取自定义字段。例如the_field('custom_field');无法正常工作..

有什么想法/建议吗?

希望收到你们的来信!

过滤

1 个答案:

答案 0 :(得分:1)

首先,使用WP_Query类更改查询和Wordpress循环的方法。

<?php
$args = array( 'numberposts' => '12', 'post_type' => 'training', 'post_status' => 'publish' );
$loop = new WP_Query($args);
if( $loop->have_posts() ) {
    while( $loop->have_posts() ){
        $loop->the_post(); ?>
        <div class="col-xs-12 col-md-4">
            <article>
                <div class="kartel">
                    <a href="<?php the_permalink(); ?>">
                        <?php if( has_post_thumbnail("medium") ) {
                            the_post_thumbnail( "medium" );
                        }
                        ?>
                    </a>
                </div>
                <a href="<?php the_permalink(); ?>">
                    <?php the_title("<h3>","</h3>"); ?>
                </a>
                <em>Doelgroep //</em>
                <a href="<?php the_permalink(); ?>">Tell me more</a>
            </article>
        </div>
    <?php }
}
wp_reset_postdata();
?>

稍后,在帖子循环中,您可以使用以下方法来调出自定义字段:

the_field ('custom'); //which prints the result on screen

$var = get_field ('custom'); //or echo get_field ('custom') which returns the content in a variable.

如果要撤回在帖子或页面或自定义帖子类型中插入的特定自定义字段,则必须使用以下语法:

the_field ('custom', $ post_id);

get_field ('custom', $ post_id)

仅此而已:)