• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Массовый сброс даты новостей

Makc007

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

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

af478d70ebb7.png
 
Через 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';

Таким образом всем постам, с датой публикации меньше текущей, будет присвоено текущее время
 
Через PHPMyAdmin
UPDATE `wp_posts` SET `post_date`=now() WHERE `post_date`<=now() AND `post_type`='post';
Спасибо, но, запрос устанавливает текущее время для всех новостей, а мне нужно что бы при опубликованной новой новости задавалось "текущее время", не изменяя время для остальных новостей. Или на худой конец изменяла массово дату только для новостей из Черновики, На утверждении. Можно как нибудь данный вопрос заточить под эти нужды? я не силен в этом.


В поисках решения, наткнулся на такой полезный запрос, который добавляет кнопку в редактор новости "текущее время", но это идеальное решения для ручного метода, у меня более 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' );
 
а мне нужно что бы при опубликованной новой новости задавалось "текущее время",
:) какбы новой записи и ставится текущее время. По умолчанию, с нажатием кнопки "Опубликовать".
Но обработав вашу просьбу телепатически, я предполагаю схему работы -- некто пишет черновик, публикует его на утверждение. Естественно черновику присваивается время публикации. А далее вы через некоторое время хотите его включить, но править время выхода вручную лениво.
Исправленный запрос для черновика

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

стандартные статусы можно подглядеть в кодексе Для просмотра ссылки Войди или Зарегистрируйся
и вы же делаете бэкапы, ведь да? ну так, на всякий случай...
 
Назад
Сверху