サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2019年7月12日 17:13
Cocoonのブログカードブロックでは、ひとつのブロックの中で段落ごとにURLを指定することで同ラベルの複数のブログカードを並べることが可能ですが、pタグが行頭になるとは限らないため、
/^(<p>)?(<a[^>]+?>)?...
https://github.com/yhira/cocoon/blob/master/lib/blogcard-in.php#L188
にある^によってマッチせず、ブログカード化されない不具合があります。
ただ、^を除くとクラシックエディターで書かれた場合に別の不具合が起きそうなので、ブロック向けの修正が必要そうです。
【追記】
内部ブログカードしか確認していませんが、不具合の状況から外部ブログカードも同様の不具合が起こりそうです。
https://github.com/yhira/cocoon/blob/master/lib/blogcard-out.php#L34
わいひら reacted
トピックスターター 2019年7月12日 17:54
さらに追記です。
内部ブログカードで実際に確認したところ、上記の不具合では
$the_content = preg_replace('{^'.preg_quote($match, '{}').'}im', $tag , $the_content, 1);
https://github.com/yhira/cocoon/blob/master/lib/blogcard-in.php#L210
URLからブログカード化されたタグをコンテンツに反映する際の置換でも^が問題になってきます。
^によってマッチせず、ブログカードタグが反映されません。
こちらについても、外部ブログカードも同様の問題が起こると考えられます。
https://github.com/yhira/cocoon/blob/master/lib/blogcard-out.php#L51
わいひら reacted
2019年7月12日 20:55
ご連絡ありがとうございます!
ちなみに、エディターではどのようにブログカードを挿入されていますか?
よろしければお手数ですがエディター画面をキャプチャしてアップしていただけますと幸いです。
同様にして試してみます。
トピックスターター 2019年7月12日 21:15
例えば添付画像のように、同ブロック内の段落ごとに1URLといった感じです。
https://notepad.pw/code/cij9f3h57
URLを入力後、そのまま保存すると2~3段落目からは改行なしのコードになります。
ただ、「編集画面を開いて保存する」動作を繰り返すとpタグ間に改行が入り、HTMLが展開されていくので、根本的な問題はGutenbergまたはReactにあるのではないかと思われます。
https://wp-cocoon.com/gutenberg-blogcard/#toc3
一応、こちらの記事で解説してある通りです。
わいひら reacted
2019年7月13日 00:20
一応、こんな感じでは正常表示されるようにはなりましたが…。
https://github.com/yhira/cocoon/commit/b79e1460dfc5aab2dc7bc73ea4cab77a86a62cf4
うーん、あまり綺麗な方法ではないですね…。
ここら辺も、これで問題の出る文章もあるかどうかかも。
$the_content = preg_replace('{<p> +}', '<p>', $the_content);
$the_content = preg_replace('{ +</p>}', '</p>', $the_content);
基本的に、p開始タグ直後の半角スペースと、p閉じタグ直前の半角スペースはあったとしても、不要とは思うんですけど。
今のところ思いついてはいないですが、取り除いて、都合の悪いケースとかもあるのかも。
2019年7月13日 00:27
あ、URLの前に半角スペースを挿入して、あえてブログカード化させないということをやっている人は、ブログカード化されてしまうかも。
[] https://cocoon.local/16902
2019年7月13日 17:54
とりあえず、PHPは使わず、ブログカードブロック側のJavaScriptの処理を追加して、何とか以下で修正できたのではないかと思います。
https://github.com/yhira/cocoon
トピックスターター 2019年7月13日 21:29
修正確認しました。
問題点については解決したようです。
ブロック含め、ブログカード周りは今のところクラシックエディターをベースとした仕組みになっているので、最終的にはGutenbergベースに切り替えていった方が綺麗に書けるとは思います。
わいひら reacted
2019年7月14日 12:38
ご確認ありがとうございます。
今回、最初修正がうまくいかなかったので、テスト的にPHPベースで試してみました。
ただ、PHPだと処理が本文全体におよんでしまうため、今後とも出来る限りブロック内の処理にとどまるGutenberg側で修正しようと思っています。
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。