
この記事は、本サイトにbbpressを設置した際に行ったカスタマイズ内容のメモです。
カスタマイズ経緯
bbpressで使用するスクリプトとスタイルシート(css)は、bbpress以外のページでも読み込まれる。
bbpress以外のページでは、余分なデータの取り込みで処理が重くなる。
処理を軽くするためにも、読み込まないようにしたい。
カスタマイズ前の準備
次の記事の方法で、カスタマイズの準備を行います。

WordPressカスタマイズの準備|自作したコードはテーマをバージョンアップしたら消えてしまう?
質問 ネットで調べてみると、functions.phpを書き換えるように指示されていることが多いですね。 質問者様も、こちらを書き換える予定だと思います。 テーマのバージョンアップで配布されるファイルには、新しいfunc […]
続きを読む
カスタマイズ用コード
準備した自作プラグインに次のコードを貼りつけます。
- add_action( 'bbp_enqueue_scripts', 'my_bbp_enqueue_scripts',100);
- function my_bbp_enqueue_scripts(){
- switch(get_post_type()){
- case "topic":
- case "forum":
- case "reply":
- return;
- default:
- wp_deregister_script('bbpress-editor');
- wp_deregister_script('bbpress-forum');
- wp_deregister_script('bbpress-topic');
- wp_deregister_script('bbpress-reply');
- wp_deregister_script('bbpress-user');
- wp_dequeue_style( 'bbp-default' );
- return;
- }
- }
※『case "reply":』の行を追加しました(2021/02/22)
処理の内容
【1行】bbpressのスクリプト登録アクションの最後に関数を登録
【3~7行】bbpressの投稿タイプなら、何もしない
【9~16行】bbpressの投稿タイプ以外なら、bbpressが登録したスクリプトやスタイルを解除
Image Upload for BBPressのカスタマイズ
Image Upload for BBPressでも同じようなカスタマイズを行う方法について、質問を頂きました。
プラグインのソースを確認してみたところ、次のコードで大丈夫そうです。
- add_action( 'wp_enqueue_scripts', 'my_bbp_image_upload_enqueue_scripts',100);
- function my_bbp_image_upload_enqueue_scripts(){
- switch(get_post_type()){
- case "topic":
- case "forum":
- case "reply":
- return;
- default:
- wp_deregister_script('hm_bbpui');
- wp_dequeue_style( 'hm_bbpui' );
- return;
- }
- }
このプラグインでは、bbp-image-upload.jsとbbp-image-upload.cssというファイルを読み込んでいます。
上のコードを実行することで、bbpress以外のページで2つのファイルが読み込まれていないことを確認しました。