来自循环php外部的自定义字段的回显数值

时间:2017-07-10 作者:siberian

我创建自定义字段类型选择

enter image description here

需要显示values 从外部自定义字段<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> 喜欢bootstrap tabs.

代码1:

<?php
            global $wp_query;
            $postid = $wp_query->post->ID;
            var_dump($postid);
            echo get_post_meta($postid, \'employee_category\', true); 
            wp_reset_query();
        ?>
返回-int(269) - id页。

代码2:

<?php
        $value = get_field( "employee_category" );
        if( $value ) {
            echo $value;
        } else {
            echo \'empty\';
        }
        ?>
返回-empty.

代码2内部环路工作正常。

如何显示循环外的值?

UPD

需要显示所有类别。

此代码

<?php
            global $wp_query;
            $postid = $wp_query->post->ID;
            $value = get_field( "employee_category", 269 );
            var_dump($value);
            if( $value ) {
                echo $value;
            } else {
                echo \'empty\';
            }
            wp_reset_query();
        ?>
返回null

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

我这样做:

<ul class="nav nav-tabs d-flex justify-content-center flex-wrap team-navs">
                <?php $loop = new WP_Query( array( \'post_type\' => \'employee\', \'post_status\'=>\'publish\', \'posts_per_page\' => -1 ) ); ?>
                <?php
                $counter = 0;
                while ( $loop->have_posts() ) : $loop->the_post();
                    $counter++;
                    $value = get_field( "employee_category" );
                    ?>
                    <li class="nav-item post-<?php the_ID(); ?> <?=($counter == 1) ? \'active\' : \'\'?>">
                        <a class="nav-link" role="tab" href="#<?php echo $value; ?>" aria-controls="home" role="tab" data-toggle="tab"><?php echo $value; ?></a>
                    </li>
                <?php endwhile; wp_reset_query(); ?>
            </ul>
此代码显示类别。但同时,如果有相同类别的帖子,它会复制标签。需要切换选项卡。。。

SO网友:Aniruddha Gawade

你需要通过$postid 到您的get_field 作用

<?php
    $value = get_field( "employee_category", $postid );
    if( $value ) {
        echo $value;
    } else {
        echo \'empty\';
    }
?>
参见文档:https://www.advancedcustomfields.com/resources/get_field/

SO网友:Erbilacx

您可以通过在第二个参数中提供post ID来访问自定义字段。

get_field($selector, [$post_id]);
因此,在您的情况下,您可以执行以下操作:

$value = get_field( "employee_category", $postid );
您可以在此处查看完整文档:https://www.advancedcustomfields.com/resources/get_field/

SO网友:mrben522

如果您试图回显该ACF select字段的所有选项,则需要使用get_field_object(\'employee_category\')get_field()

<?php
    $value = get_field_object("employee_category");
    if( $value[\'choices\'] ) {
        echo $value[\'choices\'];
    } else {
        echo \'empty\';
    }
?>

https://www.advancedcustomfields.com/resources/get_field_object/

结束

相关推荐

未定义变量:WooCommerce_loop

今天,我更新了woocommerce插件,在我的网站上发现以下错误:未定义变量:woocommerce\\u loop我的循环看起来像(对archive-product template 一年前):<?php $newReleasesCounter = 0; $loop = new WP_Query( $args_new_releases ); while ( $loop->have_posts() ) : $loop->the_post(); global $p