ACF在自定义代码中获取字段标签

时间:2018-07-25 作者:sonja

我有一些自定义代码,以便以我想要的方式显示自定义字段。

不幸的是,使用此代码,我似乎无法访问$field[\'label\']. 我尝试了各种方法,但不知道如何做到这一点。

<?php
    $fields = get_fields();
    if( $fields ): ?>
        <ul>
        <?php
            foreach( $fields as $name => $value ):
                if (stripos($name, \'isbn\') !== false) : ?>
                    <li><b><?php echo $name[\'label\']; ?></b> <?php echo $value; ?></li>
                <?php endif;
            endforeach; ?>
        </ul>
    <?php endif; ?>

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

试试这个,这对我很有用:

<?php
    $fields = get_field_objects(); // I changed from get_fields()
    if( $fields ): ?>
        <ul>
        <?php
            // I changed $value to $field (i.e. the variable name)
            foreach( $fields as $name => $field ):
                if (stripos($name, \'isbn\') !== false) : ?>
                    <li><b><?php echo $field[\'label\']; ?></b> <?php echo $field[\'value\']; ?></li>
                <?php endif;
            endforeach; ?>
        </ul>
    <?php endif; ?>
所以参考$field 在代码中,$field[\'label\'] 是字段标签(例如“Book ISBN”),并且$field[\'value\'] 是字段值。但请注意,字段值可以是array, 这么简单echo-ing它(可能会抛出一个PHP警告)会给您一个“数组”。

看见https://www.advancedcustomfields.com/resources/get_field_objects/ 如果您需要帮助get_field_objects() 作用

PS:如果您只想获取单个字段的标签,而不是所有字段(当前/目标帖子/用户等)的标签,那么可以使用get_field_object() 相反

结束

相关推荐

Changing Admin Menu Labels

我用了最后一天的时间使用这些函数。php文件为我的客户端站点完全定制WordPress。我很惊讶我能完成这么多,也很惊讶它能让我的客户更轻松。我已删除了未以管理员身份登录的用户的某些菜单项。我希望(从我所读到的内容来看,我知道这是可以做到的)找到一种方法来重命名一些菜单项(管理区域的左侧边栏)。例如,将帖子更改为文章。如果有人能提供函数的代码。php文件或指向我的方向,我将不胜感激!

ACF在自定义代码中获取字段标签 - 小码农CODE - 行之有效找到问题解决它

ACF在自定义代码中获取字段标签

时间:2018-07-25 作者:sonja

我有一些自定义代码,以便以我想要的方式显示自定义字段。

不幸的是,使用此代码,我似乎无法访问$field[\'label\']. 我尝试了各种方法,但不知道如何做到这一点。

<?php
    $fields = get_fields();
    if( $fields ): ?>
        <ul>
        <?php
            foreach( $fields as $name => $value ):
                if (stripos($name, \'isbn\') !== false) : ?>
                    <li><b><?php echo $name[\'label\']; ?></b> <?php echo $value; ?></li>
                <?php endif;
            endforeach; ?>
        </ul>
    <?php endif; ?>

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

试试这个,这对我很有用:

<?php
    $fields = get_field_objects(); // I changed from get_fields()
    if( $fields ): ?>
        <ul>
        <?php
            // I changed $value to $field (i.e. the variable name)
            foreach( $fields as $name => $field ):
                if (stripos($name, \'isbn\') !== false) : ?>
                    <li><b><?php echo $field[\'label\']; ?></b> <?php echo $field[\'value\']; ?></li>
                <?php endif;
            endforeach; ?>
        </ul>
    <?php endif; ?>
所以参考$field 在代码中,$field[\'label\'] 是字段标签(例如“Book ISBN”),并且$field[\'value\'] 是字段值。但请注意,字段值可以是array, 这么简单echo-ing它(可能会抛出一个PHP警告)会给您一个“数组”。

看见https://www.advancedcustomfields.com/resources/get_field_objects/ 如果您需要帮助get_field_objects() 作用

PS:如果您只想获取单个字段的标签,而不是所有字段(当前/目标帖子/用户等)的标签,那么可以使用get_field_object() 相反

相关推荐

Changing Admin Menu Labels

我用了最后一天的时间使用这些函数。php文件为我的客户端站点完全定制WordPress。我很惊讶我能完成这么多,也很惊讶它能让我的客户更轻松。我已删除了未以管理员身份登录的用户的某些菜单项。我希望(从我所读到的内容来看,我知道这是可以做到的)找到一种方法来重命名一些菜单项(管理区域的左侧边栏)。例如,将帖子更改为文章。如果有人能提供函数的代码。php文件或指向我的方向,我将不胜感激!