[Помогите] Проблема с запланированными записями

Тема в разделе "Wordpress", создана пользователем ddmaster, 14 сен 2010.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. ddmaster

    ddmaster Читатель

    Регистр.:
    18 май 2010
    Сообщения:
    15
    Симпатии:
    0
    Задача:
    Человек набивает записи, но ставит даты на будущее время. В результате каждый день автоматически должна опубликоваться одна запись. Если в wordpress выставить дату на будущее, то запись получает статус "запланирована".
    Проблема:
    Когда наступает "час икс" запись получает статус "Пропущенное". И при редактировании записи опубликовать ее не получается - отсутствует пункт "опубликована" в выпадающем списке "статус". Опубликовать удается только используя пункт "быстрое редактирование", там пункт "опубликовано" есть.
    На все же главное пожелание, чтобы запись опубликовалась сама...
    Если кто-то сталкивался, подскажите куда копать?
    Версия WordPress 2.9.2
     
  2. drawing4

    drawing4

    Регистр.:
    21 ноя 2008
    Сообщения:
    323
    Симпатии:
    37
    http://blogodom.ru/problemy-wordpress/
     
    ddmaster нравится это.
  3. STsoldier

    STsoldier Постоялец

    Регистр.:
    9 дек 2008
    Сообщения:
    100
    Симпатии:
    10
    Любые действия, которые регулярно повторяются WordPress выполняет через использование псевдо-крона в wp-cron.php, однако существует вероятность того, что у вашего хостера неправильно настроен сервер для работы этого файла. В частности, в настройках сервера должно быть прописано разрешение для функции fsockopen использовать локальные адреса. Если же на локальные адреса прописан запрет скрипт в файле wp-cron.php выполняться не будет. Можно, конечно, попросить хостера изменить настройки сервера, но большинство хостеров вам в этом откажет. Поэтому используем обходной путь. Открываем на редактирование файл wp-cron.php и комментируем (добавляя в начало символ #) строчки:
    PHP:
    if ( $_GET['check'] != wp_hash('187425') )
        exit;
    Теперь, если вы откроете ссылку вида http://www.myblog.ru/wp-cron.php скрипт в этом файле выполнится и все ваши просроченные публикации немедленно будут опубликованы. Конечно, ручное дергание файла wp-cron.php нам ни в коем случае не подходит, а поэтому настраиваем выполнение данного скрипта через демон cron. Его настройка осуществляется разными путями у различных хостеров, читайте документацию по хостингу. В моем случае мне помогла такая команда:
    То есть cron будет выполнять скрипт в wp-cron.php каждый час. Точное время публикации записи соблюдено не будет, но опоздание с публикацией в течение часа по сути не так уж и страшно, главное, что сама отложенная публикация будет работать.
    Что делать, если ваш хостинг не предоставляет возможности использовать демон cron? Есть такой сервис как WebCron.org - это именно то, что вам нужно. Он сможет регулярно выполнять ваш скрипт в .php файле, просто скормите ему ссылку файла скрипта и укажите, как часто его выполнять.
     
  4. cjb

    cjb Постоялец

    Регистр.:
    20 сен 2008
    Сообщения:
    50
    Симпатии:
    4
    Что-то не найду эту строчку, которую закоментить надо(WP 3.0.1), ткните пальцем, а то я баран
     
  5. STsoldier

    STsoldier Постоялец

    Регистр.:
    9 дек 2008
    Сообщения:
    100
    Симпатии:
    10
  6. cjb

    cjb Постоялец

    Регистр.:
    20 сен 2008
    Сообщения:
    50
    Симпатии:
    4
    Стоило один раз вручную опубликовать просраченую запись, остальные отложенные стали нормально публиковаться
     
  7. eclipso

    eclipso Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    127
    Симпатии:
    9
    эту проблему я тоже решил - выставил правильный часовый пояс в нстройках блога и все стало опубликовываться само
     
Статус темы:
Закрыта.