質問: wordpressで特定のカテゴリーに属している記事を 削除するSQLをご教授いただけませんでしょうか。 特定のカテゴリで一定の期間をすぎたもの(古い記事)などを 自動で削除することを考えており、cronで設定しておくつもりです。 一定期間すぎたもの~うんぬんは自身でもなんとかわかるため、 今回は特定のカテゴリー記事の削除という点に対して教えていただければ助かります。 wp_posts wp_term_relationships wp_terms wordpressのデフォルトのテーブル名を使用しており、 複数のカテゴリーやタグなどが入っている状態になっております。 wp_postsから単純に記事を削除などは可能なのですが、特定のカテゴリー、例えばカテゴリーのidが10だとすると、wp_postsの中でどれが、カテゴリーidの10に属するものになるのか、よくわかりません wp_term_relationshipsまわりが関連していることまではなんとなくわかるのですが、他のカテゴリーや、タグなどのidも複数あるためそこから、どう判別して、wp_postsの中を削除するのかわからない状態です。 よろしくお願いいたします
回答: 具体的な条件が分からないので、ヒントだけになりますが。 WordPress は、直接データベースをSQLで、操作するのは推奨していないので、cron からなら wp コマンド を使ったシェルスクリプトを作るのが簡単でしょうか。 ``` wp post list --category_name=カテゴリー ``` で、カテゴリーに属する記事の一覧が取得できますので、ID を取得して ``` wp post delete ID ``` で、 ID の記事が削除できます。 詳しくは、wp-cli ( http://wp-cli.org/ ) を参照してください。