Where to put API Code?

时间:2016-02-19 作者:Ben

我想使用一些Wordpress API内置函数,如wp\\u remote\\u request()。我曾尝试在我的根Wordpress安装中的php文件中使用此选项,但我只是遇到了一个错误:

致命错误:调用/home/pacekuwa/public\\u html/gf中未定义的函数wp\\u remote\\u request()。php第23行

我觉得我没有把代码放在正确的地方,或者需要包含一个或多个Wordpress文件。。。

有人能告诉我应该把代码放在哪里吗?

编辑:

我正在尝试创建一个页面,该页面对我的Gravity Forms插件进行远程API调用,以使用Gravity Forms Web API检索提交的表单条目。我试着跟着他们example, 但我不知道他们提供的代码应该放在我的安装中的什么地方才能正常工作。

2 个回复
最合适的回答,由SO网友:Milo 整理而成

你可以create a plugin 以包含您的代码。这个admin_post_ action 可用于触发请求处理程序。WordPress核心将被加载,API将正常工作。

<?php
/*
Plugin Name: Ben\'s GF Plugin
*/

// for logged-in users
add_action( \'admin_post_ben_gf\', \'ben_gf_handle_request\' );
// for non logged-in users
add_action( \'admin_post_nopriv_ben_gf\', \'ben_gf_handle_request\' );

function ben_gf_handle_request() {

    // Your processing code.
    // WordPress functions will work here.
    echo \'Your home url: \' . home_url();

    // die() at the end to terminate execution
    die();
}
这会将您的请求处理程序映射到URL:

http://www.example.com/wp-admin/admin-post.php?action=ben_gf
请注意,如果您允许未登录的用户访问此URL,您不想公开敏感数据。

SO网友:Ramūnas Pabrėža

Wordpress函数用于主题或插件文件。如果您想在自定义php文件中使用wordpress函数,您必须包含wp load。php文件。require_once("../../../../wp-load.php"); . 点数取决于自定义文件的位置。