MacFeeling Blog

マックな感じ …

wp-rakuten-link改良版がエラー

公開 : | 0件のコメント

この記事は最終更新日から 約8年が経過しているので情報が古い可能性があります。

久々に、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:

コメントを残す

必須欄は * がついています




日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)