为什么我会在这个短代码中看到PHP警告“没有合适的包装器”来表示file\\u get\\u内容?这可能更像是一个PHP问题,而不是WordPress。
短代码工作正常,并在页面/帖子中输出。但我的错误日志中充满了警告。我知道PHP警告并不严重,但我仍然想修复引发警告的代码。
// Wikipedia Last Edit Date
function wikipedia_article_date() {
$url = "https://en.wikipedia.org/w/api.php?action=query&titles=Test_article&prop=revisions&rvlimit=1&format=json";
$data = json_decode(file_get_contents($url), true);
$date = $data[\'query\'][\'pages\'][\'746140638\'][\'revisions\'][0][\'timestamp\'];
$date = new DateTime($date);
return $date->format(\'m-d-Y\');
}
add_shortcode(\'article_date\',\'wikipedia_article_date\');
最合适的回答,由SO网友:TheDeadMedic 整理而成
Use the HTTP API:
$http = wp_remote_get( \'https://en.wikipedia.org/w/api.php?action=query&titles=Test_article&prop=revisions&rvlimit=1&format=json\' );
if ( ! $body = wp_remote_retrieve_body( $http ) )
return;
if ( ! $data = json_decode( $body, true ) )
return;
$date = new DateTime( $data[\'query\'][\'pages\'][\'746140638\'][\'revisions\'][0][\'timestamp\'] );
return $date->format( \'m-d-Y\' );