簡體   English   中英

wordpress 錯誤:調用插件中未定義的函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM