質問: ### 前提・実現したいこと Wordpressを使ってサイトを運営しており、myCREDというポイント管理プラグインを使って、ユーザーの行動に応じたポイントを付与するシステムを導入しております。 訪問者(data列の"i:158"が訪問者のidを示します)が記事の閲覧した場合にも、記事の執筆者(user_id)に対してポイントが付与されるように設定しております。しかし、閲覧した回数に応じて無制限にポイントが付与されてしまうため、「同一の訪問者が、同一の記事を一日2回以上閲覧」した場合には、2回目以降のポイント付与を無効にしたいと思っております。 ![データの重複例](https://teratail.storage.googleapis.com/uploads/contributed_images/b831a31eb1efbf609279a87b8070ae89.png) ### 試したこと 最初は、ポイント付与条件を設定することで、2回目以降付与されないようにしようと考えましたが上手くいかなかったため、ポイント付与後に2回目以降のデータを定期的に削除する方向で対策しようと考えております。 データの削除方法、mysqlでの定期処理の方法についての情報はネットから入手できたのですが、これらをwordpressでphpに組み込んで実施する方法が見つからず、第一歩を踏み出せない状況となっております。 詳細なコードを記述いただくことは求めておりませんが、コーディングの手順や有用な情報が掲載されているサイト等について、できるだけ詳細にご教示頂きたく質問させていただきました。 ### 補足情報(言語/FW/ツール等のバージョンなど) phpのバージョン5.7、Wordpressは4.5となります。 追加の情報などご質問がございましたら、お気軽にご連絡くださいませ。 どうぞよろしくお願いします。
回答: WordPress の wp_cron を用いて、あるスクリプトを定期的に実行させるのが良いと思われます。自分でプラグインを作り、定期実行させましょう。 wp-cronを使ってみるテスト や WordPressで擬似cronを使ってバッチ処理を定期実行させる方法 などは参考になります。 どちらにも挙げられているように、登録状況の確認には WP Crontrol というプラグインが便利です。 よく使っているプラグインがあれば、その処理を参考にしても良いと思います。 > > 詳細なコードを記述いただくことは求めておりませんが > > > とのことなので、自分が書いたプラグイン含め、参考情報としてはつけませんでした。