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カスタマイズ依頼

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

horizontalサポートで追加され...
 
共有:
通知
すべてクリア

[解決済] horizontalサポートで追加されたswiperについて

9 投稿
2 ユーザー
1 Reactions
3,037 表示
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

●質問

カルーセルなどは設定オンの時のみ、JSライブラリ、CSSが追加され。
しかし、カードでhorizontalの指定無なのに、常にswiper-bundle.min.cssが付加されます。

lib/utils.php
無条件でswiper-bundle.min.cssを追加。

tmp/footer-javascript.php
$_IS_SWIPER_ENABLE=trueを判定し追加し、swiper-bundle.min.jsを追加。

swiper-bundle.min.cssも同様に、$_IS_SWIPER_ENABLE=trueを判定し、追加すれば良いのでは?
これでは何か問題ありますか?


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

僕もそうしたいところなんですが、ここで設定した$_IS_SWIPER_ENABLE = true;というのは、ヘッダーのCSS呼び出しの部分では取得できないんですよね。
https://github.com/xserver-inc/cocoon/blob/28e7e160bf9684978c4b4f5a883fff41c0712056/lib/html-forms.php#L1013
おそらくヘッダーの時点ではショートコードはまだ呼び出されていない状態なんだと思います。

ヘッダーで「ページ全体の中からショートコード(Swiperオプション)が使われているかどうか」を判断する何か良い方法をご存知でしょうか。

後からCSSを読み込むという方法も機能追加時、一旦実装してみたのですが、CLS的にはあまり良い実装ではなかったのでやめました。


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

@yhira さん

詳しくないので、対策案の提示ができなく、申し訳なく。

 


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

あらかじめヘッダーでページの全ソースコードを読み込んで正規表現で検索するという方法も考えました。
ただそれだと、全ソースコードを2回読み込むことになるので、それも非効率的かと現在の仕様にしました。
何かショートコードが使われているかを知る方法があったり、他に良い方法思いついた場合は、即座にCSSが読み込まれないようにしたいと思います。


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

少し思いついたのですが、以下ではダメですかね?
ヘッダーで判定できないなら、判定しJS出力する時、JS出力否なら追加したCSSを削除しては?

●utils.php

wp_enqueue_swiperでswiper-bundle.min.cssを無条件で追加。

●footer-javascript.php

$_IS_SWIPER_ENABLEを判定して、JSライブラリswiper-bundle.min.jsの追加と、JSを出力。

 


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

@yhira さん

汚い方法ですが...
ネット検索してたら、HTML5.2からlinkをbody内に書けるようになった?

  • wp_enqueue_swiperを削除
  • footer-javascript.phpのswiper-bundle.min.js追加前にlinkタグswiper-bundle.min.cssを追加

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

先日の書き込みは見逃していました。すいません。

投稿者:: @yhira

後からCSSを読み込むという方法も機能追加時、一旦実装してみたのですが、CLS的にはあまり良い実装ではなかったのでやめました。

先日のこちらの方法は、JavaScriptでやっていました。JavaScriptだと結構タイムラグがありました。
CSSをあとから読み込んでも多少早くなる程度ではないかと思って、何度も動作確認してみました。
結果、体感的には全くCLS問題は感じませんね。これまでの実装と体感的には表示は変わらないように感じます。
試しに実装したものを以下にアップしておきました。

------------------------------------------------
https://github.com/xserver-inc/cocoon
開発中の最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

WordPressでの手動アップデート方法はこちら
https://wp-cocoon.com/manual-update-of-cocoon-theme/
------------------------------------------------

そちらの環境ではどうでしょうか。


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

----------------------------------------------
テーマ名:Cocoon
バージョン:2.5.4.4
カテゴリ数:19
タグ数:146
ユーザー数:1
----------------------------------------------
[new_list horizontal=1]を記述した時(swiper動作の時)、swiper-bundle.min.cssが追加されている事を確認しました。
本件はクローズとします。

CSSが追加さていたので、自前でswiper.jsを用いていたのですが、CSSが消え墓穴を掘りました笑


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

ご確認いただきありがとうございます!
後から読み込んでもここまでタイムラグがないとは思いませんでした。


   
共有:

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

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

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

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

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

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

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

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