Как массово именить дату публикации постов Wordpress

(Ответов: 11, Просмотров: 6054)
Страница 1 из 2 12 Последняя
  1. Дипломник
    • Регистрация: 09.04.2011
    • Сообщений: 122
    • Репутация: 12
    Доброго времени суток уважаемые форумчане!
    Имеется около 2000 статей на сайте, которым нужно изменить дату публикации. По одной статье изменять - это очень долго.Если какой-нибудь автоматический способ.Заранее благодарен
    • 0
  2. Опытный Аватар для Hillel
    • Регистрация: 15.01.2012
    • Сообщений: 259
    • Репутация: 25
    Готовое решение вряд ли есть, можно написать php скрипт и запрос на обновление базы данных.
    • 0
  3. Гуру
    • Регистрация: 24.04.2011
    • Сообщений: 801
    • Репутация: 126
    А даты как надо изменить? Все одинаково?
    Если да, то можно через БД
    Спасибо не пишут, а нажимают
    • 1

    Спасибо сказали:

    Dudemancool(04.09.2012),
  4. Дипломник
    • Регистрация: 09.04.2011
    • Сообщений: 122
    • Репутация: 12
    xilgiz,можно и одинаково.Как через БД?
    • 0
  5. Гуру Аватар для Vasko
    • Регистрация: 23.04.2011
    • Сообщений: 639
    • Репутация: 248
    Dudemancool, если разных дат немного, то выгрузить базу в файл, заменить в файле старые даты на новые, загрузить измененную базу обратно.

    в phpMyAdmin экспорт, а потом измененное импортировать обратно
    Последний раз редактировалось Vasko; 04.09.2012 в 00:17.
    • 1

    Спасибо сказали:

    Dudemancool(04.09.2012),
  6. Дипломник
    • Регистрация: 13.02.2012
    • Сообщений: 113
    • Репутация: 13
    sql запросик сделать разве нельзя? Чтобы СУБД изменение сделало?
    • 0
  7. Дипломник Аватар для milanfan1993
    • Регистрация: 03.06.2012
    • Сообщений: 196
    • Репутация: 19
    • Webmoney BL: ?
    Вроде бы даже плагин специальный есть. К сожалению, забыл как он называется, но на официальном сайте ВП можно найти.
    • 0
  8. Опытный Аватар для NukeKuper
    • Регистрация: 02.03.2015
    • Сообщений: 289
    • Репутация: 79
    • Webmoney BL: ?
    Блин щас таже проблема, кто нибудь подскажет плагин? или решение?
    P.S: да да да я некротопикфил, но проблема есть и она не решена!
    • 0
  9. Опытный старожил) Аватар для vovasit91
    • Регистрация: 07.08.2011
    • Сообщений: 688
    • Репутация: 235
    • Webmoney BL: ?
    NukeKuper,
    Внимание выполнять на свой страх и риск, я ответственности не несу за последствия. Лучше сделать бекап перед выполнение этого SQL скрипта

    PHP код:
    UPDATE `wp_postsSET `post_date` = '2015-12-05 21:00:00', `post_date_gmt` = '2015-12-05 21:00:00', `post_modified` = '2015-12-05 21:00:00', `post_modified_gmt` = '2015-12-05 21:00:00' WHERE `post_type` = 'post'
    wp_posts - название таблицы. Если вы указывали префикс иной от wp то имя этой таблицы будет другое. Измените время поста на свое в соблюдая формат.
    • 0
  10. Опытный Аватар для dotWizard
    • Регистрация: 29.07.2014
    • Сообщений: 463
    • Репутация: 347
    • Webmoney BL: ?
    Пользуюсь таким способом. создаём файл php, перед этим правим всего два числа, закидываем в корень сайта и обращаемся к нему через браузер. Даты постов изменены. Ни разу не запорол этим способом БД, единственное что посты раскидает в том же порядке что и идут и изменять по количеству/дням нельзя.
    PHP код:
    <?php
        
    require_once(dirname(__FILE__).'/wp-load.php');
     
        
    set_time_limit(300);
        
    $wpdb->show_errors();
     
        
    // диапазон раскидывания постов:
        //  от (текущая_дата - $days_minus дней)
        //  до (текущая дата + $days_plus дней)
     
        
    $days_minus 30;
        
    $days_plus 90;
     
        
    // дальше магия
     
        
    $sql 'SELECT `ID` FROM `'.$wpdb->prefix.'posts`
                WHERE
                    `post_type`="post"
                AND
                    (`post_status`="future" OR `post_status`="publish")
        '
    ;
     
        if ( 
    $posts $wpdb->get_results($sql) )
        {
            
    // Меняем дату у постов
            
    foreach ($posts as $post)
            {
                
    $sql 'UPDATE `'.$wpdb->prefix.'posts` SET
                           `post_date`= DATE_ADD(
                                            FROM_DAYS( FLOOR( TO_DAYS(NOW())
                                                              + (RAND()*'
    .$days_plus.')
                                                              - (RAND()*'
    .$days_minus.')
                                                       )
                                            ),
                                            INTERVAL (FLOOR(RAND()*86400)) SECOND
                           ),
                           `post_date_gmt`=`post_date`,
                           `post_modified`=`post_date`,
                           `post_modified_gmt`=`post_date`
                       WHERE
                           `id`=%d
                       LIMIT 1
                '
    ;
     
                
    $psql $wpdb->prepare($sql$post->ID);
     
                
    $wpdb->query($psql);
            }
     
            
    // Обновляем статусы постов
     
            
    $sql 'UPDATE `'.$wpdb->prefix.'posts` SET
                      `post_status`="future"
                    WHERE
                      `post_date`>NOW()
                    AND
                      `post_type`="post"
                    AND
                      (`post_status`="future" OR `post_status`="publish")
            '
    ;
     
            
    $wpdb->query($sql);
     
            
    $sql 'UPDATE `'.$wpdb->prefix.'posts` SET
                            `post_status`="publish"
                          WHERE
                            `post_date`<=NOW()
                          AND
                            `post_type`="post"
                          AND
                            (`post_status`="future" OR `post_status`="publish")
            '
    ;
     
            
    $wpdb->query($sql);
        }
     
        die(
    'Complete');

    Второй способ который юзаю - софтина TextKit, там всё проще, можно менять всё как душе угодно и есть бесплатная версия, которой в вашем случае более чем хватит.
    Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
    У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
    • 1

    Спасибо сказали:

    ESET(19.03.2016),
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Каким образом можно массово установить wordpress
WordPress 5 22.04.2012 17:04
Нужно мнение СЕО на счет постов и категорий в wordpress
Софт, скрипты, сервисы 3 14.02.2012 20:49
Блок популярных постов для WordPress.
Софт, скрипты, сервисы 2 26.09.2011 01:22
Вывод новостей на ненаступившую дату. DLE
Web программирование 8 13.09.2011 12:57
Слайдер постов WordPress
Блоги 25 16.09.2009 22:40

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры