hiromaya

投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------

フォーラムへの返信

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • hiromaya
    参加者

    ご返信ありがとうございます。

    ご教示いただいた通り、usces_the_itemImageURLをもとにユーザー定義関数を作成することにより、商品画像URLのドメインを置換することができました。

    以下、備忘録としてコードを貼り付けいたします。

    /* 商品URL置換関数 */
    function replacement_the_itemImageURL($number = 0, $out = ”, $post = ” ) {
    global $usces;
    $ptitle = $number;

    if( $ptitle && is_string($number) ){
    $picposts = query_posts(array(‘post_type’=>’attachment’,’name’=>$ptitle));
    if( !$picposts ){
    return ”;
    }
    $pictid = empty($picposts) ? 0 : $picposts[0]->ID;
    $pictid = $picposts[0]->ID;
    $html = wp_get_attachment_url( $pictid );
    }else{

    if($post == ”) global $post;
    $post_id = $post->ID;

    $code = get_post_meta($post_id, ‘_itemCode’, true);
    if(!$code) return false;
    $name = get_post_meta($post_id, ‘_itemName’, true);
    if( 0 == $number ){
    $pictid = (int)$usces->get_mainpictid($code);
    $html = wp_get_attachment_url( $pictid );
    $replace = array(
    ‘example.com’ => ‘abc12345cdn.com’
    );
    $replace_html = str_replace(array_keys($replace), $replace, $html);

    }else{
    $pictids = $usces->get_pictids($code);
    $ind = $number – 1;
    $pictid = ( isset($pictids[$ind]) && (int)$pictids[$ind] ) ? $pictids[$ind] : 0;
    $html = wp_get_attachment_url( $pictid );
    $replace = array(
    ‘example.com’ => ‘abc12345cdn.com’
    );
    $replace_html = str_replace(array_keys($replace), $replace, $html);
    }
    }

    if($out == ‘return’){
    return $replace_html;
    }else{
    echo $replace_html;
    }

    }

    hiromaya
    参加者

    当方サイトでは商品画像が多く、画像も大きいため、サーバーに負担がかかっていました。そこで、商品画像をAWSのS3に保管し、CDNであるCloud Frontを経由して、商品ページに掲載をすることにしました。利用にあたって、過去の商品情報の画像URLのドメインをCDNのドメインへ置換したいと考えております。

    流れは以下の通りです。

    1.S3のバケットに画像データーをアップロード
    2.S3のバケットをCloudFrontでキャッシュ
    3.CloudFrontのUrl(例   abc12345cdn.com/itemimage.jpg)で商品ページに掲載

    usces_the_itemImage()はフイルターフックで置換に成功しました。
    画像のリンクであるaタグはusces_the_itemImageURLを使用しているので、置換ができませんでした。

    usces_the_itemImageURLのドメインを置換する方法はないでしょうか。または、代替の方法はないでしょうか。

    hiromaya
    参加者

    すみません、間違えました。

    商品画像URLの関数usces_the_itemImageURLを編集するフックが見つかりませんでした。
    どなたかお教え頂ければ幸いです。

3件の投稿を表示中 - 1 - 3件目 (全3件中)