カスタムフィールドで改行が適用されないので、無理やり改行できるようにした。

本記事はリード文をカスタムフィールドで書いている。 が、カスタムフィールドないでいくら改行しても改行が記事に反映されないので、調査、修正してみた。 まず、そもそものコードは <?php $item_lead = get_post_meta($post->ID, 'item_lead', true); echo $item_lead; ?> という形で吐き出していた。 が、これだとcssは当たるが、改行が反映されない。 どうやらこれは調べてみると仕様っぽい。 コードによる解決方法が見つからなかったので、すこし無理やりだが、改行を判定し、pタグで囲むようにした。 実際のコードは、 $values = explode("\n", get_post_meta($post->ID, 'item_lead', true)); foreach ($values as $value) { echo "<p>" . $value . "</p>\n"; } ?> という形に修正した。 やっとこととしては、まずexplode()で取得した文字列を改行コードで分割する。 分割した値を回し、pタグで囲っていく。 ただそれだけ。 少し無理やりかもしれないが、改行が反映されるようになった。

投稿日 · 2022-01-16 · 更新日 · 2024-06-07 · 1 分 · nove-b

クラシックエディタでリンク挿入ボタンがうまく機能していなかったので、原因を調査した

クラシックエディタのリンク挿入ボタンがうまく機能していない 公開から少し経ち、ブログを投稿する機会が増えるにつれ、気が付き始めたことがある。 クラシックエディタのリンク挿入機能がうまく機能していないという点が、その1つ。 調べてみるとクラシックエディタがうまく機能しなくなるバグはよくあることらしい。 プラグインが原因? 調査結果によると多くはプラグインを起因とするものらしく、特定のプラグインを無効化すれば直ったという声をよく見た。 しかし、こういう事態に備えて、プラグインを最小限に抑えている。 とは言え入れていないわけではないので、ひとつひとつ無効化してテストしてみた。 Classic Editor 無効化したが効果が見られず。 というより、そもそもこのプラグインを無効化したら意味がない。 Highlighting Code Block エンジニアの味方。 ブログでコードを簡単に見せることができるプラグイン。 無効化したが効果が見られず。 XML Sitemaps 動的にサイトマップを作成してくれるプラグイン。 無効化したが効果が見られず。 結果、原因はプラグインではない。 functions.phpにいけない記述があるのかしら。 ということで、functions.phpをまるっと削除してみたところ、正常に稼働した。 細分化してエラーの原因を探すと、どうやらビジュアルエディターにcssを当てる記述が悪さをしているとのこと。 書かれたソースがこちら。 // 投稿ページにスタイルを充てる function wpdocs_theme_add_editor_styles() { add_editor_style('パス'); } add_action('admin_init', 'wpdocs_theme_add_editor_styles'); もしやエディタを読み込む関数が非推奨になったのかしらなんて思い、 add_editor_style('パス'); シンプルに記述方法を変えてみたが、変わらず正常に稼働しない。 ついに、原因解明 まさかと思いつつ、ということで読み込んでいるcssの内容をまるっと削除すると、正常に稼働。 そこでトライ&エラーと消しては確認を繰り返すとついに発見。 原因はaタグに指定された「display: contents ;」…! 確かシンプルにリンクにアイコンをつけたくて記述した箇所だが、現状はもう使用してない不要な箇所。 自身が使うエディタのみだから削除を忘れていた。 そして原因はまさかのCSSだった。 無駄な記述は自身の首を絞める 今回の教訓として心に刻むことにした。 せっかくなので、 display: contents ; 理解を深める 表示のスタイルとエディターのスタイルを一元管理する 上記2つを課題として自らに課すことにした。

投稿日 · 2021-12-06 · 更新日 · 2024-06-07 · 1 分 · nove-b