我觉得我错过了一些简单的东西,但我想不出来
我需要让我的插件构建链接到一个完全通过cURL响应构建的页面。
我正在构建一个插件,该插件与外部API交互,以提取数据并构建一个动态列表(作业),该列表通过快捷码显示。每个列表项都需要链接到招聘广告。通过这个API,这些广告(通过另一个cURL)作为完整的HTML提供。
对于每个cURL请求,都需要一个client\\u id,该id存储在wordpress数据库中。需要的另一件事是引用作业的简单ID。我最初创建了一个以cURL为函数的PHP文件,并从查询字符串中提取ID。
链接是这样构建的:
$_ad_link = plugins_url( \'includes/ad.php\' , dirname(__FILE__) );
但是cURL依赖于对数据库的访问来获取client\\u id(用作密码)。此文件似乎无法识别为wordpress文件,因此不知道如何处理get_option
那样的话我不应该通过javascript或类似的方式通过浏览器传递client\\u id。否则,我只需将其包含在查询字符串中或使用AJAX(尽管我没有AJAX方面的经验,例如是否有方法安全地为其提供client\\u id)。
有没有办法像我希望的那样,以某种方式将这个文件包含在Wordpress中并正确链接到它?或者有没有其他方法可以通过单击列表元素来获取cURL响应(完整的HTML页面)并显示?
流量应为:
用户查看作业列表(位于站点前端)我有一个客户端id,我需要从wp数据库和作业的id(我可以通过链接传递)。我想把招聘广告显示为自己的页面,而不是玩弄iframe之类的东西。
编辑:
正如下面的评论中所提到的,我希望在一个只有该内容的新“页面”中输出cURL响应。
我最初试图通过创建一个只有cURL请求作为函数的页面来实现这一点,然后将响应输出到该页面。然后,作业列表项将链接到此页面,该页面将调用cURL。然而,我需要该页面(cURL请求)来访问wp数据库,并在wordpress中正常工作。实际上,get\\u选项会出错。(我正在从查询字符串中提取作业的正确id)
$job_id = $_SERVER["QUERY_STRING"];
parse_str($job_id);
if(isset($jobid)) {
build_jobad();
}
function build_jobad() {
global $jobid;
$sg_ad_url = \'curl-url-goes-here\';
$cm = curl_init($curl_url);
$options = get_option(\'plugin_options\');
$clientid = $options[\'client_id\'];
curl_setopt($cm, CURLOPT_USERPWD, $clientid);
curl_setopt($cm, CURLOPT_HTTPHEADER, Array(\'Content-Type: application/json;charset=utf-8\'));
$jobs_ad_output = curl_exec($cm);
curl_close($cm);
}
有没有办法这样做?我是否缺少一些东西来允许这个php页面在wordpress中运行?我认为除非它是一个模板页面,否则它不会工作,我不想创建模板页面。卷曲响应需要是only 页面上的html输出。