проблема с добавлением записи

добавляю запись

$my_post = array();
        $my_post['post_title']    = 'blabla' . date('d.m.y');
        $my_post['post_content']  = function($key, $input_proxy[$key]['alias'], $input_proxy[$key]['url']);
        $my_post['post_status']   = 'publish';
        $my_post['post_author']   = 1;
        $my_post['post_category'] = array((int)$CategoryID);
        $my_post['tags_input']    = $input_proxy[$key]['tags_input'];
        //$my_post['post_date']     = date('Y-m-d H:i:s');
        //$my_post['post_date_gmt'] = date('Y-m-d H:i:s');
        
        // Insert not empty post into the database
        if ($my_post['post_content'] != '') {
            wp_insert_post($my_post);
        }

если даты не выставлять, то сообщение получается "из будущего" , дата post_title текущая, но дата добавления будущая.
скорее всего виновато post_date_gmt, но проблема в том что если раскоментировать строки, то вобще записи не добавляются
в чем причина?

Попробуй раскомментировать строки и без добавления записи в БД выполнить print_r($my_post); посмотришь в каком формате даты записываются. Если всё правильно, смотри что с датой делает функция wp_insert_post() и в чём разница между post_date и post_date_gmt.

непонятно
дата вставляется в формате

[post_date] => 2011-01-01 14:45:36 [post_date_gmt] => 2011-01-01 14:45:36

в коде ф-ции есть проверка

if ( empty($post_date) || '0000-00-00 00:00:00' == $post_date )
 $post_date = current_time('mysql');

где current_time(‘mysql’); = 2011-01-01 17:45:36 -такой же формат
но почемуто $post_date пустая и поэтому присваивается дата из базы

Anonymous
Отправить
Ответ на: