【发布时间】:2016-07-17 08:51:54
【问题描述】:
我正在尝试在 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');
}
问题是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
ps 我正在使用 hook(尝试使用 init、plugins_loaded 和 admin_init em>) 在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');
}
}
【问题讨论】:
-
您的主题的function.php是否可能在实际的ACF扩展之前加载?您的functio_exists 是在钩子中还是直接在function.php 中?如果是这样,您是否尝试过像这样在挂钩中移动它:codex.wordpress.org/Plugin_API/Action_Reference/plugins_loaded
-
我正在使用钩子,尝试了 init 和 admin_init,我相信一切皆有可能,感谢您的参考,只是尝试使用带有 plugins_loaded 的钩子并没有工作。
-
你在 WP 网络上吗?
-
不,我正在为 wp 创建一个主题。还是谢谢。
-
您使用的是什么版本的 ACF?
标签: php wordpress advanced-custom-fields