【发布时间】:2014-11-10 17:23:44
【问题描述】:
这看起来像是一个 Wordpress 问题,但我认为它是 PHP 特定的,而不是 Wordpress。我认为我的问题出在// Code 块中。这是我的代码:
function display_app_rating( $atts ) {
// Attributes
extract( shortcode_atts(
array(
'app' => '',
), $atts )
);
// Code
//return '"http://itunes.apple.com/lookup?id='.($app).'"';
$json_url = '"http://itunes.apple.com/lookup?id='.($app).'"';
$json = file_get_contents($json_url);
$result = json_decode($json, TRUE);
foreach ($result['results'] as $key => $value) {
return '<p class="appstore rating">Average rating '.$value['averageUserRating'].' out of 5 from '.$value['userRatingCount']. ' users.</p><p class="appstore price">Current Price '.$value['currency'].$value['price'].'</p>';
}
}
add_shortcode( 'apprating', 'display_app_rating' );
如果我将应用 ID 硬编码为 $app 变量,它可以正常工作,如果我注释掉我的代码并取消注释 return... 行,它会返回正确的 URL。我的问题是如何将$app 变量附加到 URL 并通过我的简码工作
[apprating app="439438619"]
任何帮助表示赞赏。
【问题讨论】:
-
$json_url = "itunes.apple.com/lookup?id=$app" 应该可以工作。您在不内联变量的字符串周围有单引号。我没有使用 wordpress 的经验,您能否验证提取中的 $app 设置是否正确?
-
嗨,Hammerstein,不幸的是,尝试过它不起作用。当我简单地返回该行时,它会正确地内联 URL,并将引号内的变量作为 URL 的一部分。