現在デフォルトスキンとして「Season (Summer)」を適用中。

外部リンク画像を指定した場合にLightbox系の処理が動かない | Cocoonテーマに関する質問 | Cocoon フォーラム

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

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

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

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

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

フォーラムのTwitterアカウント(@CocoonForum)はこちら

スポンサーリンク
外部リンク画像を指定した場合にLigh...
 
Share:

[解決済] 外部リンク画像を指定した場合にLightbox系の処理が動かない  

  RSS

ぱのん
 ぱのん
(@ぱのん)
ゲスト
参加: 2か月 前
投稿: 3
2019年6月12日 17:00  

こんにちは、早速質問なんですが、

画像を挿入するときGoogleフォトの画像を外部リンクで指定しています。

この場合、設定でどの指定でも『baguetteBox』『Lity』『iLghtbox』画像の拡大効果は作動しません。

コードエディターモードで aタグ内に 【data-lightbox="image-set"】を追加で指定すると『iLghtbox』では作動出来ました。

画像を外部リンクで指定した場合でもうまく動作させる方法は無いでしょうか?


未解決
わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6125
2019年6月12日 19:38  

よろしければ、案内にもあるように実際のページのURLを提示していただけると助かります。
まず動作しない環境の実物を確認したく思います。

This post was modified 2か月 前 by わいひら

panon
(@panon)
New Memberサイト
参加: 2か月 前
投稿: 1
2019年6月12日 22:04  

現在の画像の設定は『Lightbox』です。

高速化のコードの縮小化はチェック外しています。

https://panonbox.com/resona-atmfree/

リンクの画像はすべてGoogleフォトの画像をリンクで挿入しています。

https://panonbox.com/googlephoto/

上記のページでは記事の中間あたりにアバター画像を2枚並べていますが、上部が『Googleフォト』で下部が『同じサーバー内』のものです。

現状はコードエディターモードで aタグ内に 【data-lightbox="image-set"】を追加してるので画像の拡大効果は出ています。

またこの2枚の画像ですが何も手を加えなければ、上の画像は普通にリンクに飛び、下の画像は『Lightbox』が反映されます。ですが、上部の画像に【data-lightbox="image-set"】を追加すると下部の画像から『Lightbox』のコードが消えて状態が逆転します。上部に反映され下部はリンクに飛びます。

 


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6125
2019年6月13日 20:40  

CocoonのLightbox判別として、jpg、jpeg、png、gifが含まれているものを画像と判別しています。
https://github.com/yhira/cocoon/blob/e03782b9cda2dfb090c24bf495643e31a82bfefd/lib/image.php#L42
そうでないと、通常のテキストリンクまでLightbox仕様になってしまうので。

Google PhotoのURLの場合、以下のように、画像と判別できる情報がないため、反応しません。
ttps://lh3.googleusercontent.com/Pha8Evpbtcq5Gi7Ws2cWUXBPhZxL7agdfq9ko30dTQenptHIRiHOXs8oZnBTfn8B84vI3lTzYbSE4QQaYXkzHF8wNqr3dwm5jD3HecMiojEuB1yGTXXgw-vS9iSirwSujaDfT_oM5A=w800

今後も、Cocoon親テーマ側に、機能としてそういった判別は行わないと思います。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6125
2019年6月13日 20:40  

その場合、子テーマ側で対応していただく必要があるのですが、それ用のフックを用意しました。
まずは以下のファイルでアップデートしてください。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

FTPでのアップデート方法はこちら。
https://wp-cocoon.com/ftp-update/
------------------------------------------------


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6125
2019年6月13日 20:42  

その後、以下のコードを子テーマのfunctions.phpに追記すると、アップデートの影響を受けない子テーマ側で対応できるかと思います。

LightboxをGoogle Photoに対応させる

//Google PhotoのLightbox置換
add_filter('add_lightbox_property', function ($content){
  //Aタグを正規表現で置換
  $content = preg_replace(
    '/<a([^>]+?googleusercontent\.com[^>]+?)>([\s\w\W\d]+?)<\/a>/i',//Aタグの正規表現
    '<a${1} data-lightbox="image-set">${2}</a>',//置換する
    $content );//投稿本文(置換する文章)

  return $content;
}); 
This post was modified 2か月 前 by わいひら

ぱのん
 ぱのん
(@ぱのん)
ゲスト
参加: 2か月 前
投稿: 3
2019年6月14日 13:17  

特殊な内容に対応して頂きありがとうございます。途中問題が発生しましたが、自己解決出来ました。

画像と次の画像に挟まれている場所すべてにリンクタグが指定される状態でした。(添付画像参照)

Chromeの検証機能で確認していたので、気がつくまで時間がかかりました。”/a”実際は無いのですが有るように処理されるようですね。

結果的には

'<a${1} data-lightbox="image-set">${2}',//置換する
'<a${1} data-lightbox="image-set">${2}</a>',//置換する

”</a>”が抜けていただけだと思います。

ちなみに${2}の部分ですが親テーマの判別では”3”ですが2と3の違いはなにかあるのでしょうか?

思っていたように表示させる事が出来ましたありがとうございます。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6125
2019年6月14日 19:25  

すいません。僕の記入ミスだと思います。
上のコードも修正しておきます。

ちなみに${2}の部分ですが親テーマの判別では”3”ですが2と3の違いはなにかあるのでしょうか?

これに関しては、以下のページの「パターンに一致する文字を別の文字に置き換える」部分を参照してください。
http://www.sound-uz.jp/php/note/regx

ここら辺。

$0 は正規表現パターン全体にマッチする文字を表しています。もちろん $1、$2、$3 ... というのもあるわけですが、これはパターンの中で、カッコで囲まれたパターンの文字を表します。始めのカッコのパターンにマッチする文字が $1、2番目のカッコのパターンにマッチする文字が $2、といった順番に対応しており、パターンの一部を参照することが出来ます。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6125
2019年6月14日 19:28  

実際に、エディターに書いたコードを見たら問題なかったようです。
なので、おそらくaの閉じタグは、HTMLタグなので、フォーラムにタグと認識されてしまったのかもしれません。
一応、エディターに書いた原本のコードも画像で掲載しておきます。


ぱのん
 ぱのん
(@ぱのん)
ゲスト
参加: 2か月 前
投稿: 3
2019年6月15日 15:20  

PHPの正規表現や置き換えについて、すごく勉強になりました。

PHPもこれから学習していこうと思います。ありがとうございました。


わいひら 件のいいね!
Share:
スポンサーリンク
わいひらをフォローする
おすすめサーバ

性能も兼ね備えながら安くブログ運営を開始したいのであればここ1択。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎東京・大阪でリージョン選択が可能
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
◎ドメインとサーバー代のチャージ払いが可能
○サーバ引っ越しオプションあり(有料)
サービス運営期間:1年

1年以上の契約をする場合は、クーポンコード入力でさらに10%割引(※2019/12/31まで)。

クーポンコード:PK4JK4RJ

クーポンの使用方法はこちら

プラン変更で負荷対策が行えるので、ブログ向きのレンタルサーバーです。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎プランのアップ・ダウングレードが自由自在
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
○サーバ引っ越しオプションあり(有料)
○サーバー料金をチャージ払いが可能
サービス運営期間:3年

安定感抜群のサーバーです。あまり急激なアクセス変動がないアフィリエイトサイトに向いています。

◎nginxを用いた高速サーバー(完全SSD)
◎老舗サーバーなので安定感抜群
◎ディスク容量が多い
◎転送量が多い
◎同サービス内でドメイン管理が可能
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
△DBは7日分だけ無料復旧可能(ファイルは有料)
×プラン変更でCPUのスペックアップができない
×プラン変更しても即時反映されない
×アダルト・出会い系サイト不可
サービス運営期間:16年

とにかく速い。サイトに表示スピードを求めるならココ。

◎nginxを用いた高速サーバー(完全SSD)
◎プランのアップ・ダウングレードが自由自在
◎ディスク容量が多い
◎転送量が多い
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
○DB復旧は無料(ファイルは有料)
○サーバ引っ越しツールあり
○サーバー料金をチャージ払いが可能
△新しいサービスなので運営櫪がまだ短い
サービス運営期間:10ヶ月

格安な値段で始められる高機能サーバーです。
性能も備えつつ最安ならここ。
サイトを続けるうちにアクセスが増えれば、プランのアップグレートで対応可能です。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎激安プランが用意してある
◎値段あたりのスペックが高い(コスパ良し)
◎サーバ引っ越しオプションあり(無料)
◎アダルト・出会い系サイト可
○http/2(高速化プロトコル)に対応
△プランのアップは可能だがダウンは不可
△毎日自動バックアップ(1日分)
△前日のバックアップからのみ復元できる(無料)
サービス運営期間:3年

Cocoon
  
動作中

ログイン または 登録 してください

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