私は私のワードプレスのブログの準備ができている1つのカテゴリーの120のポストを持っています。現時点では、投稿は下書きです。手動でスケジュールを立てたくはありません。
私はこのようにそれらを公開したいです。
必要なのは、以下のSQLクエリです。
クエリとループに迷いました。誰かが助けることができればそれは非常に非常に高く評価されます。
どうもありがとう、
クリス
私はSQLではこれをしません。比較的単純なPHPループでうまくいくはずです。
function bulk_schedule_posts_wpse_105834() {
$args = (
array(
'cat' => 1,
'posts_per_page' => -1,
'post_status' => 'draft',
'post_type' => 'post',
)
);
$posts = new WP_Query($args);
if (!$posts->have_posts()) return false;
$date = '2013-08-01';
$times = array(
'10:00',
'14:00',
'17:00',
'20:30'
);
while ($posts->have_posts()) {
global $post;
$posts->the_post();
if (0 !== $posts->current_post && 0 === $posts->current_post%4) {
$date = date('Y-m-d',strtotime('+1 day',strtotime($date)));
}
$thisdate = $date.' '.$times[$posts->current_post%4].':00';
$date_gmt = get_gmt_from_date($thisdate);
$post->edit_date = true;
$post->post_date = $thisdate;
$post->post_date_gmt = $date_gmt;
$post->post_status = 'future';
wp_update_post($post);
}
}
bulk_schedule_posts_wpse_105834();
その関数を一度実行してから削除してください。
あなたがしていることは適度に危険です。実際のサイトで使用する前に、ダミーデータで徹底的にテストしてください。実際に大量のデータが破壊されるべきではないと思いますが、大きな混乱を招く可能性があります。
ほとんどテストされていません。おそらくバグがあります。買い手責任負担。返金なし。