wordpressの投稿した記事の中にリリース情報を記入しておきたいのですが、一年ほどしたら情報自体が古くなるため、一年ほど経てば自動で削除されるような実装がしたいです。
どのような方法があるかご回答よろしくお願いします。
調べました? ttp://web.amebablog.net/wordpress-post-expirator/
特別にドンズバな回答してやる。.1)wp_postsテーブルのpost_dateを参照し、現在から1年を過ぎた記事を抽出(mysqlでselect文を実行)2)該当した記事を削除(mysqlでdelete文を実行)3)1と2をPHPで作成し、サーバのcronで定期的に実行するようにする
定期的に無駄な処理するダサい案ですなぁ。cronなど不要ですよ。あるページが閲覧されたときそのページが1年経ってたら表示しない、ってだけでいいよねぇ。dbからの削除も必要ないお。
なるほど〜。まあ、一つの手段としてcronの案は保留しておいても良いよね。でも、たしかに上コメさんが指摘されてる様に、ダサいというか、出来の悪いプログラムが使ってるcronでWordpressサーバーがオーバーロードしたという件は多々あり。上コメさんの手だとなるべく余分なプロセス発生外部のトラブル要因を防げるという点では◎。
いやいやいやいや、先ずこのコメのやり方がバッドノウハウだって誰か教えたれよ。
お前ら後出しひでーわ。トピ主が「削除」って書いてるから削除方法書いただけじゃん。「非表示」で良いならpost_dateみて現在の日時と比較するだけでいいから簡単だわ。バッドノウハウもクソも要件を変えるのはそれ以前の問題だろ。
まー落ち着いてくれ、後出しではない。「削除方法書いただけ」っていってるけど削除の仕方がバッドノウハウなんだな。普通にトピ主のやり方をアドバイスするならwp_delete_postを定期実行したほうがミスがなくていいよ。SQL文でwp_postsだけ削除したら、関連するテーブルのレコードだけ残っていって破綻するからね。
ID:8idXeARuVWkH、ID:OhKNrbJAFmhh←こいつらはトピとは的が外れた事言っているから無視していい。
補足しておくけど、ID:8idXeARuVWkH、ID:OhKNrbJAFmhhは>要件を変えるのはそれ以前の問題をしてるってことね。
そうだった。直接mySQL弄るのは良くないというか、テーマとかでmySQL弄ってたら審査で即落とされるからまず使わない禁じ手。なので俺も気づいてなかったよ。すまん。
いやいや、こちらこそごめんね。
内心ドヤ顔してそう
何言ってんだこいつ
記事全体というよりは記事の中の一部の文章を削除したいのですが?
は?
帰れ。
くさ
みんなの回答 3 件
調べました? ttp://web.amebablog.net/wordpress-post-expirator/
特別にドンズバな回答してやる。
.
1)wp_postsテーブルのpost_dateを参照し、現在から1年を過ぎた記事を抽出(mysqlでselect文を実行)
2)該当した記事を削除(mysqlでdelete文を実行)
3)1と2をPHPで作成し、サーバのcronで定期的に実行するようにする
記事全体というよりは
記事の中の一部の文章を削除したいのですが?
関連するトピックス