【bbpress】トピック作成・編集ページでWarning「sprintf(): Too few arguments in ~」が出たときの対処法
こんにちは、webエンジニアのゾノ( @ozonosho )です。
今回の記事ではwordpressの掲示板プラグインで人気のbbpressのトピック作成・編集ページでWarning「sprintf(): Too few arguments in ~」が出たときの対処法をご紹介します。
エックスサーバーなど一部のサーバーでbbpress(バージョン2.5.14)を利用すると、該当のWarningが出ることがあるようです。
Warning「sprintf(): Too few arguments in ~」が出たときの対処法
(Warning表示画面)
Warningの内容を読む限り、「/bbpress/includes/admin/topics.php」の943行目のコードで「Too few arguments=引数が足りていない」という症状が起きているようです。
943行目を見てみると下記のコードがあるので、
8 => sprintf( __( 'Topic submitted. <a target="_blank" href="%s">Preview topic</a>', 'bbpress' ), esc_url( add_query_arg( 'preview', 'true', $topic_url ) ) ),
このコードを下の内容に書き換えます。
8 => sprintf( '%1$s <a href="%2$s" target="_blank">%3$s</a>', esc_html__( 'Topic submitted.', 'bbpress' ), esc_url( add_query_arg( 'preview', 'true', $topic_url ) ), esc_html__( 'Preview topic', 'bbpress' ) ),
これでWarningが表示されなくなります。
bbPressの試験バージョン2.6を利用しても解決できます
このWarningはbbpress開発陣もバグとして認識しているようで、まだ正式リリースされていない試験バージョン2.6を利用することでも解決できます。
※ダウンロードページ
https://bbpress.org/download/
(ページ内「bbPress2.6 RC7 Download.zip」ボタンをクリックしてください)
ただしバージョン2.6はまだ正式リリースされていない試験バージョンで、今回のWarningを解消する以外にも多数のコード追加・変更がおこなわれているため、利用の際にはバックアップを取ったうえで導入されることをおすすめします。
おわりに
以上、今回の記事ではbbpressのトピック作成・編集ページでWarning「sprintf(): Too few arguments in ~」が出たときの対処法を紹介させていただきました。
当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。