[英]wordpress error : Call to undefined function in plugin
我一直在使用 Shortcode Exec PHP 插件編寫一個函數,當我在編輯器中運行它時,該函數運行良好。
當我將它移動到插件時,我開始在日志中看到錯誤,例如:
PHP Fatal error: Call to undefined function wp_create_category()
我意識到這是因為缺少包含等。
為插件包含內置 wordpress 功能的正確方法是什么?
我的插件使用以下 wordpress 函數
wp_create_category
username_exists
wp_generate_password
wp_create_user
wp_insert_post
update_post_meta
add_post_meta
使用下面的代碼,工作正常,我已經測試過
require_once(ABSPATH . 'wp-config.php');
require_once(ABSPATH . 'wp-includes/wp-db.php');
require_once(ABSPATH . 'wp-admin/includes/taxonomy.php');
嘗試將其包含在您的文件中,然后告訴我-
require_once(WORDPRESS_HOME. 'wp-config.php');
require_once(WORDPRESS_HOME. 'wp-includes/wp-db.php');
require_once(WORDPRESS_HOME. 'wp-admin/includes/taxonomy.php');
我知道這是一個非常古老的問題,但不知何故沒有人提到我想到的解決方案。
我認為這樣做的正確方法是在你的插件中使用正確的 init 鈎子。 添加 require_once() 對我來說似乎是黑客。
所以有些功能只為管理區域加載,有些功能只為前端加載。 所以取決於那些在你的插件中使用正確鈎子的人。
add_action('init', function () {}
要么
add_action('admin_init', function () {}
當然,您可以在一個插件中同時使用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.