我想做的是将Instagram图片拉到我的WordPress网站并创建帖子。
我的代码用于以编程方式创建帖子并提取Instagram图像。我的问题是我想将每个帖子的WordPress内容设置为我的Instagram图片网址。我创建了一个包含一个包含Instagram URL的foreach循环的函数。调用该函数不起作用。
function callInstagram($url)
{
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$tag = 'dog';
$client_id = "my_client_id";
$url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recent?client_id='.$client_id;
$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);
//Now parse through the $results array to display your results...
function testingInsta($results) {
foreach($results['data'] as $item){
$image_link = $item['images']['low_resolution']['url'];
//echo '<img src="'.$image_link.'" />';
}
}
/* INCLUDE WRAPPER */
// https://github.com/HarriBellThomas/Wordpress_PostController
require_once(get_template_directory() . '/class.postcontroller.php');
/* USAGE */
$Poster = new PostController;
$Poster->set_title( "tesing 11" );
$Poster->add_category(array(1)); //Use category ID
$Poster->set_type( "post" );
$Poster->set_content("<img src='" . testingInsta($results). "'>");
$Poster->set_page_template( "single.php" );
$Poster->set_post_state( "draft" );
$Poster->create();
答案 0 :(得分:0)
您似乎在testingInsta
中注释了function testingInsta($results) {
$html = '';
foreach($results['data'] as $item){
$image_link = $item['images']['low_resolution']['url'];
$html .= '<img src="'.$image_link.'" />';
}
return $html;
}
语句。但是,我会稍微重构代码,以便函数返回一个字符串,而不是每次迭代回显。
USAGE
然后,您需要修改<img>
块以省略if ( count($results['data']) == 1 ){
$item = array_pop($results['data']);
return $item['images']['low_resolution']['url'];
}
标记,而只是将帖子的内容设置为函数返回的内容。
如果您只是检索单个图像,则根本不需要迭代。相反,你可以简单地说:
{{1}}