
WordPressのビジュアルエディタで適用されるタグ挿入による自動整形を制御する
WordPressで記事を投稿する時に仕様するエディタにはビジュアルエディタとテキストエディタという2つのタイプがあります。テキストエディタはHTMLをそのまま記述するときに使うものですが、ビジュアルエディタはHTMLを仕様しなくても、タグ挿入機能がついていたり、自動的に文章が整形してくれたりします。
ただし、このビジュアルエディタを使用することで、この自動整形機能が実行され、pタグやbrタグが自動的に挿入されることでレイアウトが崩れたりすることもあります。そんな時にはfunctions.phpに下記のコードを追記することで自動整形機能を強制的に制御することができます。
【functions.php】
まずはこのプラグインをインストールした後、有効化を行います。そして「設定」→「TinyMCE Advanced」から設定画面へアクセスし、項目の最後の方にある「段落タグの保持」にチェックを入れることで、ビジュアルエディタ側の自動整形を制御してくれるようになり、テキストエディタ側で記述したpタグなども削除されないようになります。
いかがでしょうか、普段はあまりないケースですが、クライアントワークにおいて仕様として含まれていたので改めて調べることになりました。どうやら他のプラグインなどでも対応はできるみたいですが、あまりプラグインに依存するのは良くないのでしっかり検討した方が安心ですね。
(参考にさせて頂いたサイト)
関数リファレンス/wpautop
WordPressの自動整形(ビジュアルエディタ含む)を無効にする方法
// pタグ、brタグの自動挿入制御 remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); // 特定文字の自動置換制御 remove_filter( 'the_content', 'wptexturize' ); remove_filter( 'the_excerpt', 'wptexturize' );wpautopフィルターがpタグやbrタグの制御を行う上で扱うフィルターになるのですが、さらに特定の文字に対して自動置換される場合にはwptexturizeフィルターも合わせて制御していきます。 また、今度は逆にpタグがビジュアルエディタからテキストエディタへの切り替え時に消えてしまうケースもあります。そんな時にはエディタの拡張プラグイン「TinyMCE Advanced」の設定で制御することができます。
まずはこのプラグインをインストールした後、有効化を行います。そして「設定」→「TinyMCE Advanced」から設定画面へアクセスし、項目の最後の方にある「段落タグの保持」にチェックを入れることで、ビジュアルエディタ側の自動整形を制御してくれるようになり、テキストエディタ側で記述したpタグなども削除されないようになります。
いかがでしょうか、普段はあまりないケースですが、クライアントワークにおいて仕様として含まれていたので改めて調べることになりました。どうやら他のプラグインなどでも対応はできるみたいですが、あまりプラグインに依存するのは良くないのでしっかり検討した方が安心ですね。
(参考にさせて頂いたサイト)
関数リファレンス/wpautop
WordPressの自動整形(ビジュアルエディタ含む)を無効にする方法categories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)