[PHP]Advanced Custom Fields插件笔记

Leave a comment

在做WordPress主题开发的时候,经常要用到自定义字段”Custom Fields”。但是直接使用非常不友好,毕竟很多使用甲方维护人员都是小白。那就需要用到Advanced Custom Fields插件来设置自定义字段。以下整理几个Advanced Custom Fields插件的常用方法。

以下代码插入到主题function.php文件中

define('ACF_EARLY_ACCESS', '5');//开启ACF插件升级到5.x版本以上
add_filter('acf/settings/show_admin', '__return_false');//隐藏后台ACF选项

动态生成ACF下拉菜单选项:

//获取sidebar列表并插入到ACF下拉菜单sidebar_name字段的选项
function acf_load_field_sidebar_name( $field ) {
  //重置选项
  $field['choices'] = array();
  //生成选项
  if( is_array($GLOBALS['wp_registered_sidebars']) ) {
    foreach( $GLOBALS['wp_registered_sidebars'] as $sidebar ) {
      $field['choices'][ $sidebar['id'] ] = $sidebar['name'];
    }
  }
  return $field;
}
add_filter('acf/load_field/name=sidebar_name', 'acf_load_field_sidebar_name');

自定义条件显示/隐藏ACF字段:

//判断putRevSlider函数是否存在,不存在则隐藏ACF的main_slider字段
function acf_prepare_field_main_slider( $field ) {
	if( !function_exists( 'putRevSlider' ) ) return false;
	return $field;
}
add_filter('acf/prepare_field/name=main_slider', 'acf_prepare_field_main_slider');

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注