welcartの商品画像をアイキャッチに置き換える

2016/11/13

welcartの商品画像は、ファイル名を商品コードと一致させることで紐づけますが
これでは面倒なことが多々あるので、wordpress標準のアイキャッチ画像を商品画像とするやり方です。

何も変更せずに記事下部のコードをテーマファイルのfunctions.phpに追加してください。

こちらの記事を参考にさせていただきました。
やっている事は商品登録画面でアイキャッチを設定して公開すると、アイキャッチのファイル名を自動的にwelcartのシステムに合うようにリネームしている感じですね。
なので、既に登録している商品の場合は、商品の登録ページから更新する必要があります。

add_filter('template_include', 'select_category_template');
 
//アイキャッチ画像に設定した画像をwelcart用画像にリネーム
function rename_welcart_thumbnail($post_ID)  {
    if($post = get_post($post_ID)){
        //welcartの投稿か調べる
        if($post->post_mime_type == "item"){
                //商品コードを確認する
                $itemcode = get_post_meta($post_ID,"_itemCode",true);
                //アイキャッチ画像に登録されている画像があるかチェック
                if($tmb_id = get_post_thumbnail_id($post_ID)){
                    //アイキャッチ画像のデータを取得
                    $img = get_post($tmb_id);
                        //アイキャッチ画像のタイトルが商品コードと違う場合、アイキャッチ画像のタイトルを商品コードに変更
                        if(!preg_match('/^' . $itemcode . '/',$img->post_title)) {
                            wp_update_post(array("ID"=>$tmb_id,"post_title"=>$itemcode));
                        }
                }
        }
    }
}
add_action('publish_post', 'rename_welcart_thumbnail');

質問やご指摘など気軽にどうぞ

コメントを投稿する