WelcartでGoogle Merchant Center に商品データを登録するためのRSSフィードの作り方

Googleショッピング広告の無料枠は、通販サイトの立ち上げ時期の少ない流入経路を少しでも増やすためにできれば掲載したい露出先の1つ。Welcartの公式プラグインだと、1万円以下だけれど費用が掛かるので、できれば無料で済ませたかったので、簡易的なフィードを作成した。

RSS用のPHPファイルの作成

テーマファイル内に「rss-google_merchant_center.php」というファイルを作成。中身は以下。

店舗が全品送料無料だったり、取扱商品にブランドがなかったり、全て同一カテゴリーだったので一部投げやりなコードになっているので、利用する場合は店舗毎に調整が必要です。

<?php
  header( 'Content-Type: ' . feed_content_type( 'rss2' ) . '; charset=' . get_option( 'blog_charset' ), true );
  echo '<?xml version="1.0" encoding="' . get_option( 'blog_charset' ) . '"?' . '>';
  do_action( 'rss_tag_pre', 'rss2' );
?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
  <channel>
  <title><?php wp_title_rss(); ?></title>
  <link><?php bloginfo_rss( 'url' ); ?></link>
  <description><?php bloginfo_rss( 'description' ); ?></description>
  <?php
    do_action( 'rss2_head' );
    while ( have_posts() ) :
    the_post();
    $item = wel_get_item( $post->ID );
  ?>
  <item>
    <g:id><?php echo $item['itemCode']; ?></g:id>
    <g:title><?php the_title_rss(); ?></g:title>
    <g:description><?php echo preg_replace('/&[0-9a-zA-Z]+;/', '', $item['_aioseo_description']); ?></g:description>
    <g:link><?php the_permalink_rss(); ?></g:link>
    <g:image_link><?php echo usces_the_itemImageURL(0, 'return'); ?></g:image_link>
    <g:condition>new</g:condition>
    <g:availability><?php
      $inStock = "out of stock";
      if( !empty($item['itemSKU']) ):
      foreach( $item['itemSKU'] as $sku ){
        if( $sku['stocknum'] !== '0' ) $inStock = "in stock";
      }
      endif;
      echo $inStock;
    ?></g:availability>
    <g:price><?php echo $item['itemSKU'][0]['price']; ?> JPY</g:price>
    <g:shipping>
    <g:country>JP</g:country>
    <g:service>送料無料</g:service>
    <g:price>0 JPY</g:price>
    </g:shipping> <!-- <g:gtin></g:gtin> -->
    <!-- <g:brand></g:brand> -->
    <g:google_product_category>1000</g:google_product_category>
  </item>
 <?php endwhile; ?>
</channel>
</rss>

「functions.php」に以下を追記して、上記のPHPファイルをRSSフィードとして呼び出しました。

function google_merchant_center_rss_feed() {
  get_template_part('rss', 'google_merchant_center');
}

これで「https://example.com/?feed=google_merchant_center」というURLでRSSフィードが書き出される。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください