向帖子添加高级自定义域

时间:2019-04-29 作者:Draws Ren Gundam

我正在使用高级自定义字段插件,我想在帖子上显示字段。所以我修改了单曲。我的主题的php文件如下:

<ul>
    <li><?php the_field(\'name_of_placement\'); ?></li>
    <li><?php the_field(\'country\'); ?></li>
    <li><?php the_field(\'timeframe\'); ?></li>
    <li><?php the_field(\'types_of_healthcare_placement\'); ?></li>
</ul>
这是我的测试帖子:

http://electives-abroad.org/custom-field-test/

唯一正确显示的字段是“放置名称”字段,其他字段显示数字,我不知道为什么。

更新

“国家”字段是一种分类法。据此:advancedcustomfields。com/资源/分类

我提出以下内容:

<?php 

$term = get_field(\'country\');

if( $term ): ?>

    <h2><?php echo $term->name; ?></h2>
    <p><?php echo $term->description; ?></p>
    <p>Color: <?php the_field(\'country\', $term); ?></p>
但它没有给我任何东西——

*Sally CJ提出的解决方案

    <h2><?php echo $term->name; ?></h2>
    <p><?php echo $term->description; ?></p>
    <p>Color: <?php the_field(\'country\', $term); ?></p>

<?php endif; ?>
                <ul>
                    <li><?php the_field(\'name_of_placement\'); ?></li>
                    <li><?php the_field(\'country\'); ?></li>
                    <li><?php the_field(\'timeframe\'); ?></li>
                    <li><?php the_field(\'types_of_healthcare_placement\'); ?></li>
                </ul>
现在它显示了一个“未分类”。

新建更新

现在我试着这样做,来展示我的两个分类法:国家和时间框架。

<ul>
                    <li><?php the_field(\'name_of_placement\'); ?></li>
                    <li><?php echo get_term_field( \'name\', get_field(\'country\') ); ?></li>
                    <li><?php echo get_term_field( \'name\', get_field(\'timeframe\') ); ?></li>
                    <li><?php the_field(\'types_of_healthcare_placement\'); ?></li>
                </ul>
它们都显示为“未分类”。

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

因此,如果“country”字段是一个具有单个值的分类字段(即字段的外观是单选按钮或单选选择/下拉菜单),并且您希望显示术语名称,那么您可以使用get_term_field() WordPress中的功能:

<li><?php echo get_term_field( \'name\', get_field(\'country\') ); ?></li>
或使用get_term():

<li><?php $term = get_term( get_field(\'country\') ); echo $term->name; ?></li>
我希望这对你有帮助。

更新ACF可能没有使用正确的post ID,因此请尝试更换get_field(\'country\') 使用此选项:

get_field( \'country\', get_the_ID() )
因此:

<li><?php echo get_term_field( \'name\', get_field( \'country\', get_the_ID() ) ); ?></li>
更新2如果要显示该职位分配到的“国家”术语,请执行以下操作:

<li><?php the_terms( get_the_ID(), \'country\' ); ?></li>
会的。你不需要ACF或任何插件就可以做到这一点。。除了可能,您需要一个插件来注册/创建自定义分类法和/或将其与某些帖子类型关联。

更新3或。。。创建/编辑ACF字段时,请确保select the proper taxonomy, 在你的情况下,我猜是“国家”还是“国家”请参阅“必需”下面的“分类法”选项选项打开this image

SO网友:Parth Shah

可以使用默认值get_post_meta() WordPress功能

get_post_meta( $post->ID,  \'country\', TRUE)
希望这对你有帮助!

相关推荐