3

我一直在使用 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
4

3 回答 3

16

使用下面的代码,工作正常,我已经测试过

   require_once(ABSPATH . 'wp-config.php'); 
   require_once(ABSPATH . 'wp-includes/wp-db.php'); 
   require_once(ABSPATH . 'wp-admin/includes/taxonomy.php'); 
于 2013-03-20T06:21:33.567 回答
3

尝试将其包含在您的文件中,然后让我知道-

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'); 
于 2012-08-29T04:51:50.710 回答
0

我知道这是一个非常古老的问题,但不知何故没有人提到我想到的解决方案。

我认为这样做的正确方法是在插件中使用正确的 init 钩子。添加 require_once() 对我来说似乎是 hack。

所以有些功能只为管理区域加载,有些只为前端加载。所以取决于那些在你的插件中使用正确的钩子。

add_action('init', function () {}

或者

add_action('admin_init', function () {}

当然,您可以将它们都放在一个插件中。

于 2021-07-29T09:46:09.227 回答