首页 > 解决方案 > CSS3的背景颜色?ACF / 高级自定义字段

问题描述

我用过 ACF 的。我有一个带有颜色的复选框,例如:

1C00ff00:透明 000000:黑色 3072B5:蓝色等......

我将此代码嵌入到我的模板中以将文本更改为图标

    <?php
$field = get_field_object('farben');
$colors = $field['value'];
if( $colors ): ?>
    <?php foreach( $colors as $color ): ?>
        <div style="float: left; width: 10px; height: 10px; margin-right: 3px; border: 1px solid #000000; background-color:<?php echo $color; ?>"></div>
    <?php endforeach; ?>
<?php endif; ?>

现在我想为“多色”使用一个图标......

谁能帮我?此代码不会更改图标:

<?php 
  $field = get_field_object('farben');
 ?>
         <div style="float: left; width: 10px; height: 10px; margin-right: 3px; border: 1px solid #000000; background-image: url('/media/multicolor.png') <?php if ($field == multicolor) { echo 'multicolor';}?>"></div>

标签: phpadvanced-custom-fields

解决方案


来自https://www.advancedcustomfields.com/resources/get_field_object/上的文档

获取字段对象

此函数将返回一个如下所示的数组。请注意,每个字段都包含独特的设置。

array(
  'ID'                => 0,
  'key'               => '',
  'label'             => '',
  'name'              => '',
  'prefix'            => '',
  'type'              => 'text',
  'value'             => null,
  'menu_order'        => 0,
  'instructions'      => '',
  'required'          => 0,
  'id'                => '',
  'class'             => '',
  'conditional_logic' => 0,
  'parent'            => 0,
  'wrapper'           => array(
    'width'             => '',
    'class'             => '',
    'id'                => ''
  )
);

因此,您可能正在寻找一个数组值。尝试$field = get_field_object('farben');从第二个示例中打印出来,如下所示:

 echo '<pre>'.print_r($field,1).'</pre>';//the value you are looking for is in here, probably.  

不要echo $field;,而是你应该echo $field['value'];或类似的东西。打印阵列将帮助您查看缺少的内容。


推荐阅读