[Ищу] Массовый сброс даты новостей

Тема в разделе "Wordpress", создана пользователем Makc007, 16 окт 2015.

Модераторы: Sorcus
  1. Makc007

    Makc007 Создатель

    Регистр.:
    10 ноя 2008
    Сообщения:
    27
    Симпатии:
    0
    Доброе время.
    Гугл не дает ответ на вопрос о массовом сбросе даты новостей.
    Есть подобные вопросы, но ответов в них нет, большое сомнение что это вообще возможно, но всё же... надежда умирает последней)

    Нужен запрос для сброса даты у всех новостей на "опубликовать сразу".

    [​IMG]
     
  2. norman_by

    norman_by Постоялец

    Регистр.:
    28 июн 2011
    Сообщения:
    69
    Симпатии:
    20
    Через PHPMyAdmin

    UPDATE `{prefix}posts` SET `post_date`=now() WHERE `post_date`<=now() AND `post_type`='post';

    {prefix} - заменить на префикс таблиц в базе. По умолчанию wp_
    т.е.
    UPDATE `wp_posts` SET `post_date`=now() WHERE `post_date`<=now() AND `post_type`='post';

    Таким образом всем постам, с датой публикации меньше текущей, будет присвоено текущее время
     
    Makc007 нравится это.
  3. Makc007

    Makc007 Создатель

    Регистр.:
    10 ноя 2008
    Сообщения:
    27
    Симпатии:
    0
    Спасибо, но, запрос устанавливает текущее время для всех новостей, а мне нужно что бы при опубликованной новой новости задавалось "текущее время", не изменяя время для остальных новостей. Или на худой конец изменяла массово дату только для новостей из Черновики, На утверждении. Можно как нибудь данный вопрос заточить под эти нужды? я не силен в этом.


    В поисках решения, наткнулся на такой полезный запрос, который добавляет кнопку в редактор новости "текущее время", но это идеальное решения для ручного метода, у меня более 2000 новостей и хотелось бы автоматом всем сразу сбросить дату:
    Код:
    function datenow_js2() {
        ?>
        <script type="text/javascript">
             jQuery(document).ready(function() {
                 if( jQuery('.cancel-timestamp').length ) {
                     jQuery('.cancel-timestamp').after('<a href="#edit_timestamp" class="datenow-timestamp hide-if-no-js button">Текущая дата</a>');
                     function add_zero(date) {
                         if( date < 10 ) date = '0'+date;
                         return date;
                     }
                     jQuery('.datenow-timestamp').on('click', function() {
                         var date = new Date();
                         jQuery('#aa').val(add_zero(date.getFullYear()));
                         jQuery('#hh').val(add_zero(date.getHours()));
                         jQuery('#mn').val(add_zero(date.getMinutes()));
                         jQuery('#jj').val(add_zero(date.getDate()));
                         date_mm = add_zero(date.getMonth()+1);
                         if( jQuery('#mm option:selected').val() != date_mm ) {
                             jQuery('#mm option:selected').removeAttr('selected');
                             jQuery('#mm option[value='+date_mm+']').attr('selected', 'selected');
                         }
                        return false;
                    });
                }
            });
        </script>
        <?php
    }
    
    add_action( 'admin_head', 'datenow_js2' ); 
     
  4. norman_by

    norman_by Постоялец

    Регистр.:
    28 июн 2011
    Сообщения:
    69
    Симпатии:
    20
    :) какбы новой записи и ставится текущее время. По умолчанию, с нажатием кнопки "Опубликовать".
    Но обработав вашу просьбу телепатически, я предполагаю схему работы -- некто пишет черновик, публикует его на утверждение. Естественно черновику присваивается время публикации. А далее вы через некоторое время хотите его включить, но править время выхода вручную лениво.
    Исправленный запрос для черновика

    UPDATE `wp_posts` SET `post_date`=now() WHERE `post_date`<=now() AND `post_type`='post' AND `post_status`='draft';

    стандартные статусы можно подглядеть в кодексе http://codex.wordpress.org/Post_Status

    и вы же делаете бэкапы, ведь да? ну так, на всякий случай...
     
  5. Makc007

    Makc007 Создатель

    Регистр.:
    10 ноя 2008
    Сообщения:
    27
    Симпатии:
    0
    Спасибо, вопрос больше не актуален.
    Скопирую код, как нибудь проверю, отпишусь )
     
  6. cpfp14

    cpfp14 Писатель

    Регистр.:
    30 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    может есть бот для копи контента с одного сайта на другой и с категориями + в конце с названием сайта откуда контент?