Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

Amazon商品リンクコードのdesc...
 
共有:
通知
すべてクリア

[解決済] Amazon商品リンクコードのdescオプションに_blankが入ると文字が消える

7 投稿
2 ユーザー
3 Reactions
1,691 表示
(@jamkun)
Estimable Member Registered
結合: 6年前
投稿: 158
Topic starter  

Amazon商品リンクコードにdescオプションがありますが、その中に「_blank」の要素が入ると、descオプションに入れていた文字がすべて消えてしまいます。

今までは表示されていたような気がするのですが、テーマ側もしくはAmazon API側で、仕様変更でもあったのでしょうか。

 

たとえば、以下のようなショートコードだと、descオプション内の文字が消えてしまいます。

[amazon asin="B087C4VWDQ" kw="BUFFALO WiFi 無線LAN ルーター WSR-2533DHPL2/NB" desc="<a rel="nofollow noopener sponsored" href='https://www.buffalo.jp/product/detail/wsr-2533dhpl2_nb.html' target='_blank'>公式</a>サイト"]

次のように、「target='blank'」を外した状態だと「公式サイト」のリンクが表示されます。

[amazon asin="B087C4VWDQ" kw="BUFFALO WiFi 無線LAN ルーター WSR-2533DHPL2/NB" desc="<a rel='nofollow noopener sponsored' href='https://www.buffalo.jp/product/detail/wsr-2533dhpl2_nb.html'>公式</a>サイト"]

表示サンプル用ページ

 

Cocoon 2.2.8.7を使っていますが、バージョンを少し戻しても変わらず。

「_blank」が入っていても、ショートコード内に入れた文字が消えないようにできますでしょうか。

This topic was modified 4年前 by ジャム君

   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17132
 
投稿者:: @jamkun

今までは表示されていたような気がするのですが、テーマ側もしくはAmazon API側で、仕様変更でもあったのでしょうか。

以前表示されていたのであれば、WordPress側に仕様変更があったのかもしれません。
テーマ側では最近特にAmazonショートコードに変更は加えていないです。
また、descオプションはAmazon APIとは関係ない処理だったと思うので、APIでもないような気がします。


   
(@jamkun)
Estimable Member Registered
結合: 6年前
投稿: 158
Topic starter  

@yhira さん

確かに、WordPress側での仕様変更の影響を受けた可能性はありますね。

WordPress 5.6リリースあたりでは動いていたような記憶があるので、マイナーアップグレードされて現在使っているWordPress 5.6.2やWordPress 5.7では、何らかの影響を受けているのかもしれないです。

 

バージョン違いの環境で動作してくれるのか、別途環境構築して検証してみます。


   
(@jamkun)
Estimable Member Registered
結合: 6年前
投稿: 158
Topic starter  

WordPress 5.4まで下げてみたのですが、状況は変わらずでした。

----------------------------------------------
サイト名:test
サイトURL: https://cocoon-wp.oyashirosama.xyz 
ホームURL: https://cocoon-wp.oyashirosama.xyz 
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
親テーマスタイル:/wp-content/themes/cocoon-master/style.css
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
WordPressバージョン:5.4
PHPバージョン:7.4.13
ブラウザ:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
----------------------------------------------
テーマ名:Cocoon
バージョン:2.2.8.7
カテゴリ数:1
タグ数:0
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.2
style.cssサイズ:845バイト
functions.phpサイズ:203バイト
----------------------------------------------
Gutenberg:0
AMP:0
PWA:0
Font Awesome:4
Auto Post Thumbnail:0
Retina:0
ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:0
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:0
WEBフォントLazy Load:0
----------------------------------------------
利用中のプラグイン:
WP Multibyte Patch 2.9
----------------------------------------------

5.7→5.5.3→5.4という下げ方をしたので、データベース的にか新しいバージョンの影響が残っている可能性もなくはないのですが、「_blank」が入っているものに関しては、desc内の文字が消えてしまうようです。

 

「_blank」だからいけないのかと気になった「_self」を試したのですが、こちらも表示不能。

どうやら「target」属性があるとdesc内が消えてしまう、謎挙動でした。


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17132
 

該当部分のコードを見ても2020年の6月6日以降は変更してないっぽいです。
https://github.com/yhira/cocoon/commits/1b758b637791df6dfd5fedb12ce6d7f66144bc41/lib/shortcodes-amazon.php

中身を出力すると、もう既にこの時点でおかしなことになっているようです。
https://github.com/yhira/cocoon/blob/424b2a2371becedc85556c506f6478a55ac8e1e0/lib/shortcodes-amazon.php#L409
詳しくは見てないけど基本的に、ショートコード内にタグがあるとHTMLエンコードされるっぽい。
targetオプションだけなぜあこんなふうになるのかわからないけど。


   
ジャム君 reacted
(@jamkun)
Estimable Member Registered
結合: 6年前
投稿: 158
Topic starter  

@yhira さん

10か月ほど前から、Cocoonの挙動としては変わらないはずですか。

もしかすると、本番環境で使っているプラグインと競合して意図せず表示に成功しており、プラグインのアップデートともに、いつの間にか使えなくなっていたということもありそうですね。

 

別タブ表示ができればいいのですが、target属性部分さえ削除しておけば、ほぼ意図している動作はしてくれますので、いったん消して表示だけでもさせるのが正解かもしれませんね。

表示されないのは、実にもったいないですし……

 

お忙しい中確認いただき、ありがとうございました。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17132
 

デフォルトでオプションの値がHTMLエスケープされているので、WordPress的にはオプションでタグを利用するのはあまり行儀の良いものではないのかもしれません(Cocoonではエスケープを元に戻しているだけ)。


   
ジャム君 reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました