我在Wordpress中使用高级自定义字段。我使用the_field('品牌')来显示自定义字段的值,在我的例子中,它被称为品牌。但是,当我使用选择字段类型时,结果显示两次。喜欢: 耐克:耐克 阿迪达斯:ADIDAS
我假设一个是标签,一个是价值?我怎样才能在前端显示值? 这是我的代码
谢谢你,Akshay。但它仍然显示标签和价值。下面是我的代码:
$args = array(
'post_type' => 'kosher',
$current_query['taxonomy'] => $taxonomy_term
);
$the_query = new WP_Query( $args );
if ( have_posts() ) : while ( $the_query -> have_posts() ) : $the_query -> the_post(); ?>
<?php
$values = get_field('brand');
?>
<p><b><?php print_r($values); ?></b> <?php the_field('key'); ?> <?php the_title(); ?> <?php the_field( 'description' ); ?> </p>
<?php endwhile; else: ?>
<p>There are no posts or pages here</p>
<?php endif; ?>
以下是已编辑的代码,但仍会收到未定义的错误:
$args = array(
'post_type' => 'kosher',
$current_query['taxonomy'] => $taxonomy_term
);
$the_query = new WP_Query( $args );
if ( have_posts() ) : while ( $the_query -> have_posts() ) : $the_query -> the_post(); ?>
<?php
$field = get_field_object('brand');
$value = get_field('brand');
$label = $field['choices'][ $value ];
?>
<p><b><?php print_r($label); ?></b> <?php the_field('key'); ?> <?php the_title(); ?> <?php the_field( 'description' ); ?> </p>
<?php endwhile; else: ?>
<p>There are no posts or pages here</p>
我var_dump对象:
$field = get_field_object('brand');
var_dump($field);
以下是我所得到的,价值是herman jansen:HERMAN JANSEN,每次出现在我的前端的东西,我应该使用什么代码才能显示&#34; HERMAN JANSEN&# 34;
array(17) {
["key"]=> string(19) "field_533221abdb3be"
["label"]=> string(5) "Brand"
["name"]=> string(5) "brand"
["_name"]=> string(5) "brand"
["type"]=> string(6) "select"
["order_no"]=> int(3)
["instructions"]=> string(0) ""
["required"]=> int(0)
["id"]=> string(15) "acf-field-brand"
["class"]=> string(6) "select"
["conditional_logic"]=> array(3) {
["status"]=> int(0)
["rules"]=> array(1) {
[0]=> array(2) {
["field"]=> string(4) "null"
["operator"]=> string(2) "==" } }
["allorany"]=> string(3) "all" }
["choices"]=> array(4) {
["BOLS"]=> string(4) "BOLS"
["HERMAN JANSEN"]=> string(13) "HERMAN JANSEN"
["WARNICKS"]=> string(9) "WARNICK'S"
["CARLTON BLACK"]=> string(13) "CARLTON BLACK" }
["default_value"]=> string(0) ""
["allow_null"]=> int(0)
["multiple"]=> int(0)
["field_group"]=> int(140)
["value"]=> string(28) "herman jansen: HERMAN JANSEN" }
答案 0 :(得分:1)
使用get_field
获取您的字段。
$variable = get_field('brand');
print_r($variable);
以这种方式打印$variable
,您可以看到会有什么结果。
选择字段类型See Documents。
从文档中,使用此: -
$field = get_field_object('brand');
$value = get_field('brand');
$label = $field['choices'][ $value ];
您好,
我注意到ACF中的奇怪事情。
您需要在ACF字段设置中指定选择选项,如下所示: -
`red : Red` instead of `red: Red`
您可能需要在:
之前添加空格。
检查ACF设置中的选项。
这肯定有用。