Better Related Posts で非公開ページが検索される問題

結構気に入っているBetter Related Postsですが、非ログイン状態にもかかわらず、非公開ページを関連ページとしてリストアップしてしまうので、これを修正。

具体的には「better-related → inc → scorer.php」を2箇所書き換えます。

300行目

		WHERE ( post_status='publish' OR post_status = 'private' )

		WHERE post_status='publish'

に。

463行目

		AND ({$prefix}posts.post_status = 'publish' OR {$prefix}posts.post_status = 'private')

		AND {$prefix}posts.post_status = 'publish'

に。

post_statusでの条件を「publishとprivate」の2種類から「publish」のみに変更する、ということ。
すでに稼働している状態でこの変更を行った場合、すでに非公開ページに対するスコア生成が行われてしまっているので、設定ページの下の方にある「Data storage ID」の文字列を変更します。
デフォルト状態では「better-related-」となっているのでこれを「better-related」辺りに修正。
これで非公開ページを含まない状態でスコア生成が再度行われることになります。

ただ、関連ページスコアを事前に生成しているので、一度公開したページを非公開にした時にはこの方法では役に立たないかもしれない。時間があるときにもう少しソースを眺めてみる。