1日後koncerter_start_date
custom-post-typekoncert
を持つすべての投稿はステータスドラフトを取得する
あなたの質問はあまり明確ではありません。
どういう意味ですか
koncerter_start_date
の1日後、custom-post-typeがkoncert
の投稿はすべてdraft
のステータスを取得する必要がありますか。
EDIT
コード:
add_action( 'wp_loaded', 'concert_daily_tasks' );
function concert_daily_tasks() {
$current_url = "https://" . $_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI'];
if ( $current_url == 'https://example.com/concert-daily-tasks' ) { // <-- set the correct URL!
check_concert_status();
}
}
function check_concert_status() {
$today = new DateTime();
$concert_start_date_str = '2018-10-10'; // I'm not sure where/how you get this data.
$concert_start_date = DateTime::createFromFormat('Y-m-d', $concert_start_date_str); // make sure the format ('Y-m-d') matches $concert_start_date_str
if($concert_start_date) {
if($concert_start_date->modify('+1 day') <= $today) { // if concert start day was yesterday (or older) continue
$args = array(
'posts_per_page' => -1, // get all posts
'post_type' => 'koncert',
'post_status' => 'publish',
);
$posts = get_posts($args);
if($posts) {
foreach($posts as $post) {
wp_update_post(array(
'ID' => $post->ID,
'post_status' => 'draft',
));
}
}
}
}
}
重要:
https://example.com/concert-daily-tasks
に行くとコードが実行されます。あなたはおそらくあなたのホスティングパネルでcronジョブのスケジュールを設定することができます。Greetz、ビョルン