BuddyPressのプライベートメッセージで使えるHTMLタグを増やしたい
はじめに
あけましておめでとうございます。
やりたいこと
BuddyPressのプライベートメッセージ機能でdivタグを使えるようにしたい。標準ではdivタグが使えないので、Googleマップを表示するなどの便利な機能が使えないので不便。ただしBuddyPressのソースは触らずに自前プラグイン側で実現させたい。
書いた
define( 'BP_CUSTOM_TAGS', true); // カスタムタグの仕様を宣言 global $allowedposttags, $allowedtags, $allowedentitynames; $allowedposttags = array( // BuddyPressの定義をコピー ); $allowedtags = array( 'a' => array( 'href' => array (), 'title' => array ()), 'abbr' => array( 'title' => array ()), // 略... // divタグの使用を許可 'div' => array( 'id' => array(), 'name' => array() ), // 略... ); $allowedentitynames = array( // BuddyPressの定義をコピー )
1行目でカスタムタグの使用を宣言する。この定数がfalseだとBuddyPressの標準カスタムタグが適用される。2行目で宣言されている3つのグローバル変数はタグのチェックに使われるもので、すべて必要。カスタマイズしないものであっても、それぞれBuddyPress内にあるfunctions.kses.phpの内容をコピーして自前プラグインに貼り付けて編集したほうがよい。そうしないとある変数は自前プラグイン、ほかの変数はWordPress標準の定義を使うことになりBuddyPressの設定が無視されてしまう。具体的な問題はわからないが避けたほうが無難、たぶん。
プライベートメッセージのタグチェックに使われるのは$allowedtagsなので、ここにdivタグの使用を許可する旨を追記すれば完了。