投稿の際は下記の情報をお書き添えください。
-------------------------------------------
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)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------
フォーラムへの返信
-
投稿者投稿
-
rakuraku2参加者
まず、私のやり方では、固定ページにgoogle merchant centerに対応したXMLテンプレートを反映させるやり方をとっています。
(ページ属性から選べるもの。テンプレートはリンク先のものをコピーするだけでOKです。)
カスタムフィールドを用いることにより、分岐や詳細(サイズなど)を追加することができますので柔軟に対応可能です。
rakuraku2参加者chrome、Firefoxでは大丈夫ですが、IE9ではずれて表示されてしまいますね。
どうやらIEだとtype=passwordとtype=textではすこし幅が変わるみたいです。
rakuraku2参加者nanbuさん
こんばんは。
返信有難う御座います。
お忙しいかとは思いますが、どうぞよろしくお願いいたします。
rakuraku2参加者withcccさん
こんばんは。
さくらのVPS、さくらのレンタルサーバー、自宅サーバーどれでも同じで、welcart以外の通常の投稿、カスタム投稿タイプ投稿、ページ投稿などでは普通に表示されるのですよね。
add_meta_boxの第6引数がnormalだと動くものもあるのですが、highのままでも動くものもあったりして、どの条件下でどのような要因のもと表示されないのかわからずに困っています。
rakuraku2参加者https://www.welcart.com/forum/topic.php?id=1908
上記のURLでもカスタムフィールドが表示されないとのことですが、私も3.3.2→3.4にアップグレードしたらカスタムフィールド(customfield gui utilityを利用)が表示されなくなりました。
post_customでは表示されず、get_post_metaを利用すれば表示できるのですが、usces_the_itemImageを独自カスタマイズしたものが表示されなくなってしまったため、おそらく3.4のカスタムフィールド周りでなにかしらの変更があったのではないかと推測しています。
私の環境(coreserver CGIモード)では、現在3.4は様子見で、3.3.2で1.7を動かしているのが現状です。
rakuraku2参加者nanbu様
お忙しい所御返事ありがとうございます。
上手く動きました。
数値に変換しないといけなかったのですね。私の些細なミスに長い間付き合っていただき、本当に感謝しています。
ありがとうございました。
rakuraku2参加者お忙しい中お返事ありがとうございます。
カートに入れて色々確かめて見ました。
カートには
■■■-209のsku→209-01(色)
■■■-210のsku→210-01(色)
■■■-210のsku→210-02(色)
■■■-209のsku→209-01(色)
の順番に入れました。
var_export($match);
array ( 0 => '-01(', 1 => '01', )array ( 0 => '-01(', 1 => '01', )array ( 0 => '-02(', 1 => '02', )array ( 0 => '-02(', 1 => '02', )'
↑正常だと思います。
var_export($match[1]);
'01''01''02''02'
↑正常だと思います。
var_export($number);
'01''01''02''02'
↑正常だと思います。
var_export($itemCode);
'■■■-209''■■■-210''■■■-210''■■■-209'
↑アイテムコードも正常だと思います。
var_export($pictids);
array ( 0 => '83', 1 => '136', 2 => '137', )array ( 0 => '105', 1 => '129', 2 => '132', )array ( 0 => '105', 1 => '129', 2 => '132', )array ( 0 => '83', 1 => '136', 2 => '137', )
↑画像のIDもちゃんと取り出せてると思います。
var_export($image2);
array ( 0 => 'http://xxx/wp-includes/images/crystal/default.png', 1 => 46, 2 => 60, )array ( 0 => 'http://xxx/wp-includes/images/crystal/default.png', 1 => 46, 2 => 60, )array ( 0 => 'http://xxx/wp-includes/images/crystal/default.png', 1 => 46, 2 => 60, )array ( 0 => 'http://xxx/wp-includes/images/crystal/default.png', 1 => 46, 2 => 60, )
↑しかし、画像のデータ情報を抜き出すimage2はちゃんと取り出せませんでした。
var_export($pictids[$number]);
NULLNULLNULLNULL
↑$pictids[$number]がうまく働いていないのだと思います。
var_export($pictids[1]);
の場合だと商品画像1をしっかり取り出してくれるのですが・・・
コードはほぼusces_the_itemImageの流用ですのでうまくいくと思ったのですが、現時点でもうまくいっておりません。
現状フックはよくわかっていないのですが、usces_the_itemImageで
apply_filters('usces_filter_img_alt', $alt, $post_id, $pictids[$number]);
と、$pictids[number]が用いられていたため、
‘$html .= apply_filters(‘usces_filter_cart_thumbnail’, $cart_thumbnail, $post_id, $pictids, $i);’
を
‘$html .= apply_filters(‘usces_filter_cart_thumbnail’, $cart_thumbnail, $post_id, $pictids[$number], $i);’
とかにもしてみたのですがやはり$pictids[$number]がうまく動いてくれないようです。
もう少しだとは思うのですが、何か解決法などがあればご教授願えますと嬉しいです。
よろしくお願いいたします。
rakuraku2参加者お忙しいところお返事ありがとうございます。
フックについては現在勉強中なので、templates/cart.php内の73行目に直に記入しました。
もう少しだと思うのですが、うまくいきません。
SKUの形式→<ここから>■■■-◯◯(色名)<ここまで>例:000-00(赤)
SKUから末尾の番号を抜き出したいと思い、正規表現で
$pattern = '/-([0-9]{2})(/';
$match = array();
// パターンにマッチした文字が $match に格納される
preg_match($pattern, $sku, $match);
// var_export($match);
$number = $match[1];とし、
$pictids = $this->get_pictids($itemCode);
$image2 = wp_get_attachment_image_src( $pictids[$number], full , true );//'<img src="#" height="60" width="60" alt="" />';
$src2 = $image2[0];で$numberに正規表現で抜き出した数字を入れ、画像のURLを取り出したいと思っていますが、うまくいきません。
$numberに代わって数字、1や01、2や02を直接入れるとうまく動くのですが、正規表現で抜き出しpictidsの中に入れるとうまく動作しません。PHPが勉強不足なのを痛感しておりますが、解決策などありましたらご教授いただけますと嬉しいです。
よろしくお願いいたします。
rakuraku2参加者こんにちは。親切な回答ありがとうございます。
/item/の代わりに/◯◯◯/は、商品ページのみに用いたいと思っておりました。
試行錯誤の末、解決致しましたので伝わりづらいかもしれませんが、経緯を記載させて頂きます。
パーマリンク設定
/◯◯◯/%postname%.html
function.php
カスタム投稿タイプ、カスタムタクソノミー記入部分に以下のコードを挿入する
‘with_front’ => false
↑カスタム投稿タイプ、カスタムタクソノミーのURLに◯◯◯が付与されなくなる設定です。
(固定ページパーマリンクには◯◯◯は最初からつかなかったみたいですね)
カテゴリーの代わりにカスタムタクソノミーを利用し、自分が利用したいURLにしました。(/ジャンル/詳細ジャンル)
完成次第マイショップ紹介に投稿しようと思っております。
この度はありがとうございました。
今後ともよろしくお願いいたします。
rakuraku2参加者返信ありがとうございます。
パーマリンク設定における説明が不足していたようです。
商品ページのURLをhttp://ドメイン名/◯◯◯/個別ページ.html
としたいと思っております。
◯◯◯には、もともと使っていたディレクトリ名を使いたい、いわゆる当方で自由に決められる名前(スラッグ名)にしたいということです。
個別ページのパーマリンクを決める際には様々な方法があると思いますが、現状ではスラッグ名を変えられたらうまくいくのではないかと考えた次第です。
例にあげますと、
1.カテゴリーに◯◯◯という名前をつけ、パーマリンク設定で
/%category%/%postname%.htmlとする
→この場合ですとwelcartのカテゴリースラッグ(item)が変更できないため不可能です。
2.パーマリンク設定で◯◯◯を直接記入する。
/◯◯◯/%postname%.html
→この場合ですとページや利用しているカスタム投稿タイプ、カスタムタクソノミーの前にも◯◯◯がついてしまうため利用したくないと思っています。
3.カスタム投稿タイプを利用する。
カスタム投稿タイプのスラッグ名◯◯◯を利用し、それをwelcartに当てはめる。
→現在welcartはカスタム投稿タイプに対応していないため不可能です。
挙げた例ですと1.カテゴリー名の変更、3.カスタム投稿タイプによって実現可能だと思っているのですが、welcartにおけるカスタム投稿タイプの要望はすでにあったので、スラッグ名の変更は不可能なのかとおもって質問させて頂きました。
伝わりづらいかもしれませんがよろしくお願い致します。
rakuraku2参加者こんにちは。
説明不足で申し訳ございません。
WordPressはルートディレクトリにインストールしています。
つまり、管理画面はhttp://ドメイン名/wp-admin/になります。
トップページのURLはhttp://ドメイン名/となります。
よろしくお願いいたします。
-
投稿者投稿