Advanced Custom Fields应该是每一个WordPress网站基本都会用到的插件,在自定义字段方面,该插件相当advanced。
该插件还有扩展插件Advanced Custom Fields: WP WYSIWYG,Advanced Custom Fields: Repeater Field等等,第一个插件让新增的textarea可以有可见即所得和文本两种模式,Repeater 则可以常用于在当前页面编辑的重复信息或者结合其余插件(比如flexslider来自定义幻灯片)自定义功能。
用法举例:
基本用法:
1
2
3
4
5
6
7
8
|
<?php
if(get_field('field_name'))
{
echo get_field('field_name');
}
?>
|
获取其余页面某元素,通过id
1
2
3
4
5
6
|
<?php
$other_page = 12;
?>
<p><?php the_field('field_name', $other_page); ?></p>
|
add on 插件 – Repeater
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php if( have_rows('repeater_field_name') ): ?>
<ul>
<?php while( have_rows('repeater_field_name') ): the_row(); ?>
<li>sub_field_1 = <?php the_sub_field('sub_field_1'); ?>, sub_field_2 = <?php the_sub_field('sub_field_2'); ?>, etc</li>
<?php
$sub_field_3 = get_sub_field('sub_field_3');
// do something with $sub_field_3
?>
<?php endwhile; ?>
</ul>
<?php endif; ?>
|
给分类加上图片
用了这个功能,就不用困扰于不能给分类加图片,或者需要另外安装插件给分类加图片的问题。
1
|
$product_cat_image = get_field('product_cat_image', 'product-category_'.$term_taxonomy_id);
|
其中product_cat_image为给自定义分类product-category的字段,字段格式为image,输出为url,$term_taxonomy_id为分类id,$product_cat_image输出为图片url。
自定义一个 多选 select或者checkbox,并在前台输出一个select
输出页面id=20的custom select的选项,字段名为custom_select,字段秘钥为field_57b2a215404b7。
输出全部选项。
1
2
3
4
5
6
7
8
9
10
|
<?php
$field = get_field_object('field_57b2a215404b7', '20');
echo '<form id="latest_news_frm"><select>';
foreach( $field['choices'] as $k => $v )
{
echo '<option value="' . $k . '" >' . $v . '</option>';
}
echo '</select></form>';
?>
|
输出被选中选项
1
2
3
4
5
6
7
8
9
10
|
<?php
$field = get_field_object('custom_select', '20');
echo '<form id="latest_news_frm"><select>';
foreach( $field['choices'] as $k => $v )
{
echo '<option value="' . $k . '" >' . $v . '</option>';
}
echo '</select></form>';
?>
|
输出自定义名称
如果仅仅需要输出自定义的名称,以下两种方式效果相同。
1
2
3
4
|
$related_projects_attr = get_field_object("related_project");
$related_projects_attr = get_field_object("field_57b2a215404b7");
echo $related_projects_attr[label];
|