如何为WordPress后台主题添加一个选项页面.md

1
2
3
4
5
6
7
8
9
10
11
if( function_exists('acf_add_options_page') ) {

acf_add_options_page(array(
'page_title' => '页面标题',
'menu_title' => '菜单标题',
'menu_slug' => '菜单路径',
'capability' => 'manage_options',//权限要求

));

}

前台显示输出数据

1
echo  get_field('ad1',options);

前台循环数据Repeater输出

1
2
3
4
5
6
7
8
9
10
11
12
// check if the repeater field has rows of data
if( have_rows('images',options) ){
// loop through the rows of data
while ( have_rows('图片组',options) ) {
the_row();
?>
<div class="swiper-slide"><img src="<?php the_sub_field('image',options);?>" class="img-responsive" ></div>
<?php
}
} else {
// no rows found
}

ACF如何添加分类字段并在前端显示输出

ACF添加字段

ACF中添加分类字段
ACF中添加分类字段

前端显示输出ACF字段

1
2
3
4
//获取分类
$term=get_term_by('id',9,'category');
//显示字段
echo get_field('ad1',$term);

如何将Advanced Custom Fields嵌入自己的主题或者插件中?

使用“Advanced Custom Fields”插件可以完全控制WordPress编辑屏幕和自定义字段数据。

  • 按需添加字段。 使用Advanced Custom Fields字段构建器允许您只需单击几个按钮即可快速轻松地将字段添加到WP编辑界面!
  • 将它们添加到任何可以在WP上添加字段,包括帖子,用户,分类术语,媒体,评论甚至自定义选项页面!
  • 可以到处展示它们。 让开发人员,能在任何主题模板文件中加载和显示自定义字段值!

子主题

则把插件放在子主题 includes 文件夹下,插件文件夹重命名为acf。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Define path and URL to the ACF plugin.
define( 'MY_ACF_PATH', get_stylesheet_directory() . '/includes/acf/' );
define( 'MY_ACF_URL', get_stylesheet_directory_uri() . '/includes/acf/' );

// Include the ACF plugin.
include_once( MY_ACF_PATH . 'acf.php' );

// Customize the url setting to fix incorrect asset URLs.
add_filter('acf/settings/url', 'my_acf_settings_url');
function my_acf_settings_url( $url ) {
return MY_ACF_URL;
}

// (Optional) Hide the ACF admin menu item.
add_filter('acf/settings/show_admin', 'my_acf_settings_show_admin');
function my_acf_settings_show_admin( $show_admin ) {
return false;
}

导出php代码放入functions.php中

导出php代码放入functions.php中

原始地址

https://www.advancedcustomfields.com/resources/including-acf-within-a-plugin-or-theme/

Advanced Custom Fields汉化版免费下载地址

https://wordpress.org/plugins/advanced-custom-fields/

模板中常见的ACF字段输出方式

用户相关字段

1
2
$uid=get_post($id)->post_author;
echo get_field('用户头像','user_'.$uid);