フィルターフック:wp_insert_post_dataとは
アクションフックとフィルターフックの違いは下記を参照してください。
wp_insert_post_dataはフィルターフックで、WordPressエディタで「下書きとして保存」や「更新」ボタンを挿入したタイミングで、投稿データをユーザプログラムに渡してくれます。
例えば記事中に[sumple]という文字列を書き「更新」ボタンを押すと、ユーザプログラムでこの文字列を探して、別のコードに変更する事ができます。
この機能を利用する事により、ビジュアルエディタでは記述できないコードを書くことができる様になります。
wp_insert_post_dataのサンプル
functions.phpには下記の様なプログラムを記述します。
function my_scode($postarr) { $search = '[sumple]'; $replace= '<div class="my_memo"> <p>­<span class="dashicons dashicons-edit"> </span>­メモ</p> <p>このBOXは段落替え(Enter)が使えます。</p> </div>'; $postarr['post_content'] = str_replace($search,$replace, $postarr['post_content'] ); add_filter('wp_insert_post_data', 'my_scode');
※1.$searchには検索文字列を入れます。
※2.$replaceには置き換えたい文字列を入れます。
※3.str_replaceで $postarr[‘post_content’]の中を検索文字列で検索し、置き換えたい文字列に変更します。
尚、上記に関連するCSSは下記になります。
div.my_memo{ margin:5px 0; padding:10px; border-radius:5px; background-color:#f5f0cf; overflow:auto; /*画像のはみ出しをなくす指定*/ max-width:100%; font-size:14px;font-size:0.875rem;line-height:1.5em;letter-spacing:0.8pt;}
投稿記事の中に[sumple]を入れ、更新ボタンを挿入すると下記にようなBOXが表示されます。
メモ
このBOXは段落替え(Enter)が使えます。
このサイトで、wp_insert_post_dataを使っている所
下記URLを参照してください。
TinyMCEで段落変更(Enter)が使えるメモBOXを作る
TinyMCEにBootstrapのコラップス機能を実装する。