久々に、wp-rakuten-link(WP Rakuten Linkがエラー。楽天アフィリエイトプラグイン「wp-rakuten-link」を楽天APIの更新に対応させた。 | 自宅サーバの整理箱のものに改良済み)を使って楽天の商品リンクの作成をしたら、変換時にエラーが出るようになっていました。
そういえば利用しているコアサーバのPHPのバージョンが最近変わったから?なのでしょうか(PHP 5.6.21)
wp-rakuten-linkのコードを見てみると、
$origin = @file_get_contents($url);
の所でエラーが出ているようです。
なお、blog.macfeeling.comはSSL化しています。
そこで、「PHP 5.6、wp-rakuten-link」でググってみると、どうもセキュリティ関連らしい… :sad_wp:
ふとアマゾンのリンク作成で使っている、amazonjsは問題でていないなぁと…
そこでamazonjs.phpのコードを覗いてみたところ
function amazon_get( $countryCode, $options ) {
の
$response = wp_remote_request(
$url,
array(
'timeout' => 30,
)
);
if ( is_wp_error( $response ) ) {
$error = '';
$errors = $response->get_error_messages();
if ( is_array( $errors ) ) {
$error = implode( '<br/>', $errors );
}
$message = sprintf( __( 'Network Error: %s', $this->text_domain ), $error );
return compact( 'success', 'message' );
}
$body = wp_remote_retrieve_body( $response );
if ( empty($body) ) {
$message = sprintf( __( 'Empty Response from %s', $this->text_domain ), $url );
return compact( 'success', 'message' );
}
のwp_remote_requestだと大丈夫そうなので、$bodyを$originに変更して、
$origin = @file_get_contents($url); の部分と置き換えて実行したところ、問題なく動作するように :lol_wp:

コメント