EHe*_*man 4 wordpress loops field
我正在建立一个使用同位素来过滤页面上的帖子的网站.
我正在使用高级自定义字段(http://www.advancedcustomfields.com/),并创建了一个用户可以为"项目难度"设置字段的部分.
我试图遍历所有可能的选择,以创建用户可以单击以进行排序的链接列表(使用同位素).我已成功使用'标签',但我不想用难度级别标记每个项目,我希望用户在ACF下拉列表中创建帖子时选择它.
为了成功获取并显示链接形式的标签列表,我使用了以下代码:
<?php
$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
$tag_link = get_tag_link( $tag->term_id );
$html .= "<a data-filter=.{$tag->name} title='{$tag->name} Tag' class='{$tag->slug}'>";
$html .= "{$tag->name}</a>";
}
$html .= '</div>';
echo $html;
?>
Run Code Online (Sandbox Code Playgroud)
现在我尝试改变它,使用这样的代码使ACF工作:
<?php
$fields = get_fields();
$html = '<div class="post_tags">';
foreach ( $fields as $field ) {
$tag_link = get_fields( $field->task_difficulty );
$html .= "<a data-filter=.{$field->name} title='{$field->name} Tag' class='{$field->slug}'>";
$html .= "{$field->name}</a>";
}
$html .= '</div>';
echo $html;
?>
Run Code Online (Sandbox Code Playgroud)
但它输出的是:
<a data-filter="." title=" Tag" class=""></a>
Run Code Online (Sandbox Code Playgroud)
而且它没有添加任何正确的数据.显然,我的一些价值观已经消失.我如何遍历可能的选项,并将它们添加为链接,就像我对标记一样?
谢谢
其他任何有困难的人,我通过以下方式解决了这个问题:
// must add field key of the field you want
$field_key = "field_52a087a80a4c6";
$field = get_field_object($field_key);
if( $field )
{
echo '<div class="acf-task-difficulty-values">';
foreach( $field['choices'] as $k => $v )
{
echo '<a data-filter=.'.$k.' onclick="return false;">' . $v . '</a>';
}
echo '</div>';
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以在CSS文件中设置样式.
| 归档时间: |
|
| 查看次数: |
5160 次 |
| 最近记录: |