根据错误消息,听起来您正在尝试直接访问插件文件,这是不正确的。WordPress 使用前端控制器设计模式,这意味着您将希望拥有这样的文件:
my-plugin-folder/my-plugin-name.php
my-plugin-folder/includes/ydp-includes.php
my-plugin-folder/includes/ydp-database.php
在 my-plugin-name.php 内部:
//Get the absolute path of the directory that contains the file, with trailing slash.
define('MY_PLUGIN_PATH', plugin_dir_path(__FILE__));
//This is important, otherwise we'll get the path of a subdirectory
require_once MY_PLUGIN_PATH . 'includes/ydb-includes.php';
require_once MY_PLUGIN_PATH . 'includes/ydb-database.php';
//Now it's time time hook into the WordPress API ;-)
add_action('admin_menu', function () {
add_management_page('My plugin Title', 'Menu Title', 'edit_others_posts', 'my_menu_slug', 'my_plugin_menu_page_content'
});
//Php 5.3+ Required for anonymous functions. If using 5.2, create a named function or class method
function my_plugin_menu_page_content () {
//Page content here
}
这将添加一个 WordPress 管理菜单项,并加载所需的文件。您现在还可以使用常量在包含的文件中要求更多文件MY_PLUGIN_PATH
也可以看看:
add_menu_page
plugin_dir_path ()