从插件文件访问Wordpress Core(全局文件,如:$menu,$submenu等)


Access Wordpress Core from plugin file (globals like: $menu, $submenu, etc.)

我目前正在为Wordpress开发一个插件。该插件位于:/wp-content/plugins/my-plugin/

在我的插件文件夹中,我创建了一个名为 results.php 的文件,一些 jQuery 代码使用它来收集特定信息。

results.php顶部如下所示:

<?php
define('WP_USE_THEMES', false);
define('WP_DEBUG', true);
global $wp, $wp_query, $wp_the_query, $wp_rewrite, $wp_did_header;
require(BASE_PATH . 'wp-load.php');
    global $menu, $submenu;
    echo '<h1>Hello World</h1>';
    foreach($menu as $key => $item) {
        // rest of the code...
        // etc

但遗憾的是,这行不通。

在上面的例子中,我需要从全局数组$menu$submenu中获取数据,这在我的插件设置页面(由add_submenu_page加载)中完美运行。

你们有谁知道我做错了什么吗?

提前感谢!

哇 - 好吧,我似乎找到了解决方案:

results.php

<?php
    $root = dirname( __FILE__ );
    $root = explode('wp-content', $root);
    $root = $root[0] . 'wp-admin/admin.php';
    require_once($root);
        echo '<h1>Hello World</h1>';
        foreach($menu as $key => $item) {
            // rest of the code...
            // etc

所以 - 它有效。

对上述解决方案有任何反馈吗?(兼容性方面)。这对我来说似乎太简单了。