首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据wordpress指南在插件中调用wp-load.php。

如何根据wordpress指南在插件中调用wp-load.php。
EN

Stack Overflow用户
提问于 2018-07-09 14:39:31
回答 1查看 2.2K关注 0票数 2

我在插件中包含了wp-load.php文件。它在本地WordPress环境中运行良好。当我提交插件供审查时,他们要求调用核心文件作为一个函数。下面是他们用邮件发送的信息。

直接调用核心加载文件 包括wp-config.php、er.php、wp-load.php或几乎任何其他必须通过包含直接调用的WordPress核心文件都是不允许的。 这些调用容易失败,因为并非所有WordPress安装都具有完全相同的文件结构。此外,它还为您的插件打开了安全问题,因为WordPress可以很容易地以未经身份验证的方式运行代码。 您的代码应该始终存在于函数中,并由操作钩子调用。即使需要代码存在于WordPress之外,这也是正确的。只有登录和授权的人才能访问代码,如果它需要这种访问的话。您的插件页面应该通过仪表板调用,就像所有其他设置面板一样,这样,它们总是可以访问WordPress函数。 如果需要外部服务直接访问“页面”,则应该使用query_vars和/或重写规则来创建一个调用函数的虚拟页面。

我认为下面的代码可能是问题所在。

代码语言:javascript
复制
require_once('../../../wp-load.php'); 
$apikey = sanitize_text_field( $_POST['apikey'] );
$appid = sanitize_text_field( $_POST['appid'] );
$ulr = esc_url_raw( $_POST['ulr'] );

global $wpdb;
$wpdb->update( 
    'wp_table', 
    array( 
        'apikey' => $apikey,        // string
        'appid' => $appid,
        'ulr' => $ulr   
    ), 
    array( 'id' => '1' ), 
    array( 
        '%s',       // value1
        '%s',
        '%s'    
    ), 
    array( '%d' ) 
);

为什么需要将wp-load.php作为函数加载,而不是作为我使用过的方法加载?我现在需要做什么改变才能获得批准?

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 14:50:58

一旦您注册插件并激活它,它就可以使用所有WP核心功能,因此不需要加载wp-load.php。

加载此文件通常用于您想要一个独立的文件,您可以直接调用/访问它的URL (而不是作为插件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51248142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档