• APIの情報をカスタムフィールドサーチで検索しやすくするために
    APIで取得した情報をカスタムフィールドへ登録したいです。

    function.phpに記載すればよいということはわかりました。
    http://webcake.no003.info/webdesign/wordpress-save-post-get-api.html
    http://ja.forums.wordpress.org/topic/140489
    を参考にしましたが
    以下の自作ソースをfunction.phpに記載すると真っ白になります。

    どのようにしたらよいでしょうか。
    アドバイス頂ければ幸いです。

    <?php
    //ベースURL
    $baseurl = "http://webservice.recruit.co.jp/hotpepper/gourmet/v1/";
    
    //リクエストパラメータ
    $key = '0000000000'; // APIキー
    $lat = post_custom('lat'); //緯度
    $lng = post_custom('lng'); //経度
    
    //リクエストURL組み立て
    $url = "$baseurl?key=$key&lat=$lat&lng=$lng&range=1&order=4&count=5";
    //XMLパース
    $xml = simplexml_load_file( $url );
    ?>
    
    <?php if ( $xml->results_returned != 0 ): ?>
        <?php foreach ( $xml->shop as $r ): ?>
    
        <?php
    	//ベースURL
    $baseurl = "http://webservice.recruit.co.jp/hotpepper/gourmet/v1/";
    
    //リクエストパラメータ
    $key = '336ad16e8c7cd9a0'; // APIキー
    $lat = post_custom('lat'); //緯度
    $lng = post_custom('lng'); //経度
    
    //リクエストURL組み立て
    $url = "$baseurl?key=$key&lat=$lat&lng=$lng&range=1&order=4&count=5";
    //XMLパース
    $xml = simplexml_load_file( $url );
    foreach ( $xml->shop as $r ):
     if ( $xml->results_returned != 0 ):
    
    // add_action( フックするアクション名, コールバック, 実行優先順位, 引数の数 )
    add_action( 'save_post' , 'action_save_post', 99, 2 );
    function action_save_post( $post_id, $post ) {
    
        if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
            /** 自動保存時 */
    
            // 何もしない
            return $post_id;
        } elseif ( !empty( $_POST ) ) {
            /** 投稿更新時 */
    
            // カスタムフィールド登録 update_post_meta( 投稿ID, カスタムフィールドのキー, 値 )
            update_post_meta( $post_id, 'name',  $r->name);//店の名前
            update_post_meta( $post_id, 'category', $r->genre->name );//ジャンル
    		 update_post_meta( $post_id, 'yosan',  $r->budget->average );//予算
            update_post_meta( $post_id, 'address', $r->address ); //住所
    		update_post_meta( $post_id, 'access', $r->access );//アクセス
    		update_post_meta( $post_id, 'eigyou', $r->open );//営業日
    
        }
    }
    
    ?>
     <?php endforeach; ?>
    
    <?php endif; ?>


    [モデレータより]
    「【重要】お読みください」フォーラムに投稿されていましたので、「使い方全般」フォーラムを移動しました。
    「【重要】お読みください」は、WordPress 日本語サイト運営チームから、みなさんへの連絡等に使用していますので、質問があっても回答がつかない場合があります。
    通常の質問は個別のフォーラムへ投稿してください。

  • トピック「hotpepperのAPIを使ってカスタムフィールドへ自動登録したい」には新たに返信することはできません。