【メモ】bbpress以外のページでbbpressのスクリプトやcssを読み込まないようにする

この記事は、本サイトにbbpressを設置した際に行ったカスタマイズ内容のメモです。

bbPress

カスタマイズ経緯

bbpressで使用するスクリプトとスタイルシート(css)は、bbpress以外のページでも読み込まれる。
bbpress以外のページでは、余分なデータの取り込みで処理が重くなる。

処理を軽くするためにも、読み込まないようにしたい。

カスタマイズ前の準備

次の記事の方法で、カスタマイズの準備を行います。

WordPressカスタマイズの準備|自作したコードはテーマをバージョンアップしたら消えてしまう?

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;
  • }
  • }
AFFS Simple Code Viewer
Copy

※『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;
  • }
  • }
AFFS Simple Code Viewer
Copy

このプラグインでは、bbp-image-upload.jsbbp-image-upload.cssというファイルを読み込んでいます。

上のコードを実行することで、bbpress以外のページで2つのファイルが読み込まれていないことを確認しました。