web-dev-qa-db-ja.com

Stackoverflowスタイルのバッジシステムスクリプトのバグ

最新のWordpressバージョンで動作するように、古いStackoverflow風のバッジシステムスクリプトを修正しました。あなたはここでコード を見ることができます (そして望むならそれを使ってください)。

Post tagsPost countComment countを検出する条件システムがあります。カスタムバッジを作成してそれらに条件を割り当てることができます。それは私が直すことができない非常にランダムなバグ以外は完全に動作します。

私はWordpressのテストサイトを立ち上げ、10のアカウントを作成しました。私はユーザーと遊んでみました、そして、バッジはその条件に従って与えられました、例えば、ユーザーが10の記事を投稿したならば、彼らはJunior Publisherバッジを授与されるでしょう。

ただし、アカウントの作成時に、1人のユーザーが即座にすべてバッジを獲得しました。このユーザーには投稿やコメントがありません。さらに不思議なことに、私が新しいバッジを追加すると、このユーザーは自動的にそれを授与されます。このユーザーと他のユーザーの間に違いはありません。すべてContributor特権を持っています。このユーザーのユーザーID番号は5です。

スクリプトがこのように動作している理由を見つけてください。明らかに、このユーザーのようなすべてのバッジがランダムユーザーに付与されるのを恐れて、このスクリプトを追加することはできません。 。

3
Amanda Duke

704行目に、 "User_ID => 5"についての記述があります。よくわからないが、これはあなたの問題と関係があるかもしれない?

    // debug stuff
    $args = array('user_ID' => 5);
    rhb_check_user_badges( $args );
3
jzatt