-
ID:W47Vi1 さんの質問

wordpressの投稿した記事の中にリリース情報を記入しておきたいのですが、
一年ほどしたら情報自体が古くなるため、一年ほど経てば自動で削除されるような実装がしたいです。

どのような方法があるかご回答よろしくお願いします。

みんなの回答 3 件

ID:4v0emF さんの回答

調べました? ttp://web.amebablog.net/wordpress-post-expirator/

ID:9W..Y9 さんの回答

特別にドンズバな回答してやる。
.
1)wp_postsテーブルのpost_dateを参照し、現在から1年を過ぎた記事を抽出(mysqlでselect文を実行)
2)該当した記事を削除(mysqlでdelete文を実行)
3)1と2をPHPで作成し、サーバのcronで定期的に実行するようにする

ID:8idXeA

定期的に無駄な処理するダサい案ですなぁ。cronなど不要ですよ。あるページが閲覧されたときそのページが1年経ってたら表示しない、ってだけでいいよねぇ。dbからの削除も必要ないお。

ID:OhKNrb

なるほど〜。まあ、一つの手段としてcronの案は保留しておいても良いよね。でも、たしかに上コメさんが指摘されてる様に、ダサいというか、出来の悪いプログラムが使ってるcronでWordpressサーバーがオーバーロードしたという件は多々あり。上コメさんの手だとなるべく余分なプロセス発生外部のトラブル要因を防げるという点では◎。

ID:p1pqja

いやいやいやいや、先ずこのコメのやり方がバッドノウハウだって誰か教えたれよ。

ID:9W..Y9

お前ら後出しひでーわ。トピ主が「削除」って書いてるから削除方法書いただけじゃん。「非表示」で良いならpost_dateみて現在の日時と比較するだけでいいから簡単だわ。バッドノウハウもクソも要件を変えるのはそれ以前の問題だろ。

ID:p1pqja

まー落ち着いてくれ、後出しではない。
「削除方法書いただけ」っていってるけど削除の仕方がバッドノウハウなんだな。
普通にトピ主のやり方をアドバイスするならwp_delete_postを定期実行したほうがミスがなくていいよ。
SQL文でwp_postsだけ削除したら、関連するテーブルのレコードだけ残っていって破綻するからね。

ID:8idXeARuVWkH、ID:OhKNrbJAFmhh←こいつらはトピとは的が外れた事言っているから無視していい。

ID:p1pqja

補足しておくけど、ID:8idXeARuVWkH、ID:OhKNrbJAFmhhは
>要件を変えるのはそれ以前の問題
をしてるってことね。

ID:OhKNrb

そうだった。直接mySQL弄るのは良くないというか、テーマとかでmySQL弄ってたら審査で即落とされるからまず使わない禁じ手。なので俺も気づいてなかったよ。すまん。

ID:p1pqja

いやいや、こちらこそごめんね。

ID:9jreCQ

内心ドヤ顔してそう

ID:p1pqja

何言ってんだこいつ

ID:W47Vi1 さんの回答

記事全体というよりは
記事の中の一部の文章を削除したいのですが?

ID:e3QDit

は?

ID:p1pqja

帰れ。

ID:oZ3mNB

くさ

最終更新日:2017-02-15 (1,341 views)

関連するトピックス

ページ上部に戻る