Intereting Posts
Безопасность входа в WordPress Неопределенная функция wp_set_password Переадресация в зависимости от выбранной категории перенаправлять на загруженный (WordPress) пост после отправки формы с внешнего интерфейса CSS_Menu_Walker не отображается на мобильном представлении? Как удалить ссылку «+ Добавить новую категорию» из категории «Метабокс» WPML – изменение языка большого количества сообщений Показать массив meta_value в Редактировать сообщение Coloum Как запретить доступ панели управления и профиля к нормальным пользователям? Отзывчивые изображения – урожай не работает Почему плагины дезактивируются сами по себе? Как заставить одно расположение столбца на странице редактирования настраиваемого типа сообщения? Получить сообщение в соответствии с текущей таксономией Как создать сообщение в сети WP с использованием WP-CLI Удаление автоматических перенаправлений без плагина

Как получить публикацию публикации за пределами цикла?

Мне нужно вытащить дату публикации публикации, чтобы автоматическое истечение срока публикации сообщения. Дело в том, что я не могу получить правильную дату публикации.

Вот мой код:

global $wpdb; $post_ids = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_status ='publish'" ); foreach($post_ids as $id){ $postdate = get_the_date("Ymd",$id ); //here is what I can figure out ....... ......etc } 

Когда я повторяю $ postdate, он выходит с неправильной датой. Не та дата, которая существует в таблице wp_posts.

Как я могу получить дату правильно?

Solutions Collecting From Web of "Как получить публикацию публикации за пределами цикла?"

get_the_date должен использоваться внутри Loop. Для вне цикла используйте get_the_time .

 $posts = get_posts(array('numberposts'=>-1)); //Get all published posts foreach ($posts as $post){ echo get_the_time('Ym-d', $post->ID); //Echos date in Ymd format. } 

Подумайте о замене 'Ym-d' в этом примере на get_option('date_format') как на нем будет отображаться дата в соответствии с настройкой формата даты в wp-admin.

попробуй вот так

 $getPosts = $wpdb->get_results( " SELECT ID, post_date,post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY ID ASC " ); foreach ( $getPosts as $myPost ) { $id = $myPost->post_date; echo $myPost->ID.' | '. $myPost->post_title.' | '. get_the_date("Ymd",$id ).'<br />'; } 

редактировать

get_the_time Возвращает время текущего сообщения для использования в PHP. Он не отображает время. Чтобы отобразить время публикации, используйте параметр__time (). Этот тег должен использоваться в Loop.

get_the_date Тэг шаблона get_the_date получает дату, когда была написана текущая $ post. В отличие от the_date () этот тег всегда возвращает дату. Измените выход с фильтром 'get_the_date'.

Я что-то упустил?