我目前正在尝试将flickr api添加到我的自定义wordpress插件中。。。我失败了:(我试图使用本教程《Flickr API入门》,学习基本的代码结构,然后我打算参考Flickr的app garden获取文档,以实现我的愿望;但是,它不起作用。
我所拥有的。。。我构建了一个新的PHP文件,将其命名为“class.flickr.PHP”,并添加了教程中列出的代码。。。
<?php
class Flickr{
private $flickr_key;
private $flickr_secret;
private $format = \'json\';
// Setting up flickr_key and flickr_secret
public function __construct( $flickr_key ) {
$this->api_key_shown_here = $flickr_key;
}
public function searchPhotos( $query = \'\', $tags = \'\' ){ // Begin searchPhotos
$urlencoded_tags = array();
if ( !empty( $args )) {
$tags_r = explode( \',\', $tags );
foreach ( $tags_r as $tag ) {
$urlencoded_tags[] = urlencode( $tag );
}
}
// Construct the url
$url = \'http://api.flickr.com/services/rest/?\';
$url .= \'method=flickr.photos.search\';
$url .= \'&text=\' . urlencode( $query );
$url .= \'&tags=\' . implode( \',\', $urlencoded_tags );
$url .= \'&sort=relevance\';
$url .= \'&safe_search=1\';
$url .= \'&content_type=4\';
$url .= \'&api_key=\' . $this->flickr_key;
$url .= \'&format\' . $this->format;
$url .= \'&per_page=10\';
// Get search results
$result = file_get_contents( $url );
// Remove the unneccessary strings that wraps the result returned from the API
$json = substr( $result, strlen( "jsonFlickrApi("), strlen( $result ) - strlen( "jsonFlickrApi(") - 1 );
$photos = array();
$data = json_decode( $json, true );
// Check if the status didn\'t fail
if ( $data[\'stat\'] != \'fail\' ) {
// Return only the data for the photos as that\'s the only thing that we need
$photos = $data[\'photos\'][\'photo\'];
return $photos;
} else {
return false;
}
} // end searchPhotos
}
然后尝试在我的页面模板(与“class.flickr.php”位于同一文件夹)中调用上述方法,使用以下代码。。。
<?php // Flickr search photos test
require_once( \'class.flickr.php\' );
$flickr = new Flickr( $flickr_key );
$results = $flickr->searchPhotos( $query, $tags );
if ( !empty( $results )) {
foreach( $results as $photo ) {
$src = "http://farm" . $photo[\'farm\'] . ".static.flickr.com/" . $photo[\'server\'] . \'/\' . $photo[\'id\'] . \'_\' . $photo[\'secret\'] . \'_m.jpg\';
?>
<img src="<?php echo $src; ?>" alt="<?php echo $photo[\'title\']; ?>" />
<?php }
}
但是,唉,我得到的只是一个空白屏幕。任何帮助都将不胜感激