ワードプレス、PHPについての質問です。
はじめまして、みなさま、どうかお力添え頂けませんでしょうか?
現在、ワードプレスでドロップシッピングサイトを作っているのですが、商品一覧ページに自動で在庫を取得して表示するようにしたく、四苦八苦しております。
現在、いろいろ調べながらあと少しのところくらいまではきているようなのですが、以下のソースを実行しても商品一覧ページの一つ目の在庫状況の取得まではできても2つ目以降がエラーになってしまいます。
やりたいこととしては、カステムテンプレートを使って商品IDを取得し、商品一覧ページに在庫状況を出力させるような形です。
途中に<!--ここから-->と書いてある箇所が対象となります。その他の箇所はCSS部分等をある程度消していますが、ほぼそのままに書いてあります。
<?php while(have_posts()): the_post(); ?>
<?php if ( has_post_thumbnail()) : ?>haveThumbnail<?php endif; ?>">
<?php if ( is_user_logged_in() == TRUE ) : edit_post_link('編集', '<span class="edit-link">[ ', ' ] </span>');endif ?>
<a href="<?php the_permalink(); ?>">
<?php $image_fish = wp_get_attachment_image_src( get_post_meta($post->ID, '商品画像をUpload', true),'thumbnail' );?>
<img src="<?php echo $image_fish[0]; ?>" width="<?php echo $image_fish[1]; ?>" height="<?php echo $image_fish[2]; ?>">
<a href="<?php the_permalink(); ?>"><?php echo get_post_meta($post->ID, '商品情報', true); ?>
<?php echo get_post_meta($post->ID, '価格', true); ?></a></div>
</div>
<?php
$days = 7;
$today = date_i18n('U');
$entry = get_the_modified_date('U');
$kiji = date('U',($today - $entry)) / 86400 ;
if( $days > $kiji ){
echo 'new';
}
?>
<!--ここから-->
<?php
function get_content($url){
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();
ob_end_clean();
return $string;
}
/*
* もしもAPIから商品情報XML取得&パース
*/
$auth_code = "もしもAPI認証コード";
$article_id = get_post_meta($post->ID, 'item_id', true);
$url = "http://api.moshimo.com/article/search?authorization_code=" .$auth_code ."&article_id=" .$article_id;
$xml = get_content ($url);
$data = simplexml_load_string($xml);
$article = $data->Articles->Article;
$stock_status= $article->StockStatus;
$shop_id = $data->Shop->ShopId;
if ($stock_status == 0){ //0は在庫切れ
echo '在庫切れ';
}else{
?>
<input type="hidden" name="article_id" value="<?=$article_id?>">
<?php
}
?>
<!--ここまで-->
<!-- [ /.entryTxtBox ] -->
</div><!-- [ /.infoListBox ] -->
<?php endwhile; ?>
どこかソースがおかしいとは思うのですが、どこをどう直せば良いかわかりませんでした。
なぜ1回取得しただけで止まってしまうのかわからず、また、エラーとしてはfunctionの箇所を指摘されているようです。
ずーっと考えていたのですが、全く前に進めず、大変お恥ずかしいお話しですが、何卒お力添えいただきたく、何卒宜しくお願い致します。