【发布时间】:2017-02-14 17:25:18
【问题描述】:
我创建了两种自定义帖子类型 - 季节和比赛 我想做的是使用来自外部 api 的数据来制作一个 wordpress 插件来创建和更新这些帖子,我已经做了几次尝试,但到目前为止都失败了让这个工作的 api 样本是:
{"id":15,"startDate":"14-06-2014","endDate":"23-07-2015","competition":{"id":43,"name":"Champions League"},"sponsor":{"id":12,"name":"UEFA","description":"Uefa"}}``
以及目前插件的代码:
function add_posts()
{
$season_request = 'https://somedomain/api/info';
$args = array(
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( user . ':' . password)
)
);
$season_response = wp_remote_get( $season_request, $args );
$season_data = json_decode($season_response['body']);
if(! $season_data)
return false;
$query = array(
'meta_query' => array(
array(
'key' =>'season_id',
'value' => $season_data->id
)
),
'post_type' => 'seasons',
'post_status' => array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit'),
'posts_per_page' => 1
);
$season = get_posts($query);
$season_id = '';
if($season)
$season_id = $season[0] -> id;
$season_post = array
(
'ID' => $season_id,
'post_title' => $season_data -> startDate . endDate . 'test',
'post_type' => 'seasons',
'post_author' => 1,
'post_status' => ($season) ? $season[0] -> post_status : 'publish'
);
$season_id = wp_insert_post($season_post);
}
我对 php 比较陌生(不是编码),所以它可能是我看不到的非常明显的东西。我认为这将是一些详细的文档,但如果有的话,它似乎对我隐藏得很好。任何正确方向的帮助或指示将不胜感激。 谢谢
【问题讨论】:
-
您的实际问题是什么?
-
如何创建一个 wordpress 插件,从外部 json 提要创建和更新自定义帖子类型?
-
好吧,如果您在这段代码中没有特定的编程问题,只是希望其他人为您呈现一些完成的代码 - StackOverflow 不是正确的地方。
-
我不希望其他人向我展示完成的代码 - 我希望有人能够告诉我哪里出了问题,并提供一些建议,告诉我如何以正确的方式解决这个问题看看我在我的代码 sn-p 下所说的话我会认为这很清楚......我的印象是当你向更有经验的人寻求帮助时,你可以在哪里寻求指导 - 你在哪里建议如果不是 stackoverflow,学习新开发技能的人会去寻求帮助吗?
-
我不想显得粗鲁。问题只是 SO 更多的是用于诸如“在这段代码被剪断,我尝试了这个和那个,但我遇到了以下错误/我无法实现这个确切的功能”而不是“我编码执行 XY 的插件/库/应用程序”。如果除了“完成前只有 10000 行,请提供帮助”以外的特定问题,那绝对可以。但从你的措辞中并不清楚,因为它听起来更像是我提供的坏例子之一。有无数的编码论坛可能更适合。
标签: php json wordpress custom-post-type