Php 从外部源代码发布到Wordpress插件,但无法通过Wordpress审查

Php 从外部源代码发布到Wordpress插件,但无法通过Wordpress审查,php,wordpress,Php,Wordpress,我一直在构建一个wordpress插件,在网站上显示信息。这些数据已经通过cURL发布到myplugins/[plugin\u name]/inc/目录(update.php)中的一个页面,并运行更新数据库所需的相关函数插件工作正常,但当我提交审查时,我还有两个问题似乎无法解决: 1.允许直接访问插件文件 …通过将此代码放在所有php文件的顶部来避免此问题: 当然我需要直接访问此文件才能将POST数据发送到?或者我还有别的办法吗 2.直接调用核心加载文件 包括wp-config.php、wp-b

我一直在构建一个wordpress插件,在网站上显示信息。这些数据已经通过cURL发布到myplugins/[plugin\u name]/inc/目录(update.php)中的一个页面,并运行更新数据库所需的相关函数

插件工作正常,但当我提交审查时,我还有两个问题似乎无法解决:

1.允许直接访问插件文件 …通过将此代码放在所有php文件的顶部来避免此问题:

当然我需要直接访问此文件才能将POST数据发送到?或者我还有别的办法吗

2.直接调用核心加载文件 包括wp-config.php、wp-blog-header.php、wp-load.php或几乎任何其他必须通过include直接调用的WordPress核心文件都不是一个好主意,我们不能批准这样做的插件,除非它有很好的理由加载该文件。它很容易失败,因为并非所有WordPress安装都具有完全相同的文件结构。

通常插件将包括wp-config.php或wp-load.php,以便访问核心WordPress函数,但有更好的方法来实现这一点。最好将处理函数(需要但无法访问核心函数的函数)绑定到一个操作挂钩中,例如“init”或“admin_init”。 在同一个文件(update.php)的顶部,我包括:

因为我需要访问核心wp函数和类,例如

$wpdb->prepare

我也不知道我怎么才能做到这一点。如果您能帮我解决这些问题,我将不胜感激

至于1。您应该在插件中创建一个方法来处理post数据并运行CURL请求

至于2。我认为你可以逃脱
global$wpdb

至于1。您应该在插件中创建一个方法来处理post数据并运行CURL请求

至于2。我认为你可以逃脱
global$wpdb

如果有人有这个问题,我就是这么做的:
1。我添加了这个函数,并将其挂接到我的插件文件中:

//GET POST DATA IF APPLICABLE
function wp_getpostdata() {
    if ( isset( $_POST['user'] ) && isset( $_POST['pass'] ) && isset( $_POST['op'] )) {
        require 'inc/update.php';
        exit;
    } // end if
} // end wp_getpostdata
add_action( 'init', 'wp_getpostdata' );`
2.删除了可湿性粉剂负载,并添加了

global $wpdb;
按照Kyra的建议,添加到我的update.php文件中。最后…
3。将帖子目标更改为我的网站地址。

工作就像一个魅力-希望其他人发现它有用

如果其他人有这个问题,我就是这么做的:
1。我添加了这个函数,并将其挂接到我的插件文件中:

//GET POST DATA IF APPLICABLE
function wp_getpostdata() {
    if ( isset( $_POST['user'] ) && isset( $_POST['pass'] ) && isset( $_POST['op'] )) {
        require 'inc/update.php';
        exit;
    } // end if
} // end wp_getpostdata
add_action( 'init', 'wp_getpostdata' );`
2.删除了可湿性粉剂负载,并添加了

global $wpdb;
按照Kyra的建议,添加到我的update.php文件中。最后…
3。将帖子目标更改为我的网站地址。

工作就像一个魅力-希望其他人发现它有用

谢谢你!你的回答引导我走向我需要的地方。我也用了这个答案:。下面是我的回答…@jtcrow-很高兴能帮到你。布里尔,谢谢你!你的回答引导我走向我需要的地方。我也用了这个答案:。看看下面我的回答,我做了什么…@jtcrow-很高兴能帮助你。