WP - 高级自定义字段:acf_add_options_page()不存在

Vla*_*mir 3 php wordpress advanced-custom-fields

我正在尝试在WP中设置具有高级自定义字段的选项页面.

我在functions.php档案中有什么:

if( function_exists('acf_add_options_page') ) {

acf_add_options_page();

acf_add_options_sub_page('General');
acf_add_options_sub_page('Header');
acf_add_options_sub_page('Footer');

}
Run Code Online (Sandbox Code Playgroud)

问题是function_exists('acf_add_options_page')退货false.

似乎该功能不存在,但我使用的是最新版本的ACF.


当我尝试使用时acf_add_options_page();:

我得到以下内容 Uncaught Error: Call to undefined function acf_add_options_page()


当我避免使用时acf_add_options_page();,仅使用acf_add_options_sub_page():

我得到以下警告

Warning: Illegal string offset 'slug' in C:\xampp\htdocs\wp-content\plugins\acf-options-page\acf-options-page.php on line 230

Warning: Illegal string offset 'title' in C:\xampp\htdocs\wp-content\plugins\acf-options-page\acf-options-page.php on line 230
Run Code Online (Sandbox Code Playgroud)



ps我正在使用一个钩子(尝试使用init,plugins_loadedadmin_init)functions.php来加载函数:

add_action('init', 'my_init_function');

    function my_init_function() {

    if( function_exists('acf_add_options_page') ) {

        acf_add_options_page();

        acf_add_options_sub_page('General');
        acf_add_options_sub_page('Header');
        acf_add_options_sub_page('Footer');


    }

    }
Run Code Online (Sandbox Code Playgroud)

小智 12

我遇到了类似的问题,但是我将代码作为必须使用的插件的一部分运行.

问题是acf插件是 mu-plugins 之后加载的,因此该函数尚不存在.

plugins_loaded在所有插件加载后立即使用该操作运行它.

这是我的代码:

// Add Options Page
function add_my_options_page() {
  if( function_exists('acf_add_options_page') ) {
    acf_add_options_page();
  }
}
add_action( 'plugins_loaded', 'add_my_options_page' );
Run Code Online (Sandbox Code Playgroud)