Wordpress: Как программно добавить пост на каждый день? - PullRequest
0 голосов
/ 23 ноября 2018

Хотелось бы узнать, есть ли возможность иметь скрипт, который автоматически создает ежедневные посты «с сегодняшнего дня» до «даты окончания» (устанавливается вручную в скрипте).Так что на каждой итерации post_date будет $ date + 1day.

Во-первых, я не знаю, должен ли этот скрипт выполняться в functions.php или elsswhere ...

Во-вторых, я новичокв PHP, так что я понял, как создать 1 отдельный пост с "wp_insert_post", но я не понимаю, как вставить его в цикл.

Нужна помощь, если у кого-то есть идея ... Спасибомного

1 Ответ

0 голосов
/ 23 ноября 2018

Да, конечно, мы можем это сделать.
Из копания в /wp-includes/post.php, похоже, вам может потребоваться выполнить несколько шагов:

  1. установить ваш post_statusв будущее.
  2. установите post_date, когда вы хотите его опубликовать.
  3. вставьте сообщение, как показывает ваш код.

    function daily_post_article() {
    
            $begin = new DateTime("2018-11-01");
            $end = new DateTime("2018-12-15");
    
            $interval = DateInterval::createFromDateString("1 day");
            $period = new DatePeriod($begin, $interval, $end);
    
            foreach ($period as $dt) {
                $publishDate = $dt->format("Y-m-d");
                $postTitle = "Daily Post Title => ".$publishDate;
    
                if ( !get_page_by_title( $postTitle, "OBJECT", "post" ) ){
                    $args = array(
                        "post_title"=> "Daily Post Title => ".$publishDate, 
                        "post_type"=>"post", 
                        "post_date" => $publishDate,
                        "post_status"=>"future"
                    );        
                    $time = strtotime( $postdate . " GMT" );
                    $post_id = wp_insert_post( $args );
                    wp_schedule_single_event( $time, "publish_future_post", array( $post_id ) );
                }
            }
    }
    add_action("wp", "daily_post_article");
    
  4. Каждый пост будет автоматически опубликован в выбранную дату.

  5. Эта функция предоставляется WordPress.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...