n-wp.ru — блог о WordPress

Как заранее опубликовать пост

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

Если вы хотите заранее опубликовать пост будущей датой, не запланировать, как это позволяет WordPress, а именно уже опубликовать, то откройте файл functions.php, и вставьте в него такой код:

Теперь если вы при публикации поста выберете дату в будущем, то при нажатии на ссылку «запланировать» получите запись со статусом «опубликована» а не «запланирована.

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

8 комментариев

  • Спасибо большое, как раз нужно реализовать такую функцию для афиши мероприятий)

  • А я хочу запланировать записи на несколько месяцев вперед. Как мне реализовать такое? Нигде толком не могу найти такой информации.

    • В WordPress есть встроенный функционал планирования: перед тем, как опубликовать запись, можно установить дату и время публикации. Хоть на месяц вперед, хоть на год.

  • В том и дело, что обычным путем через планирование записи эти записи потом значатся как просроченные. Самостоятельно по каким-то причинам они на сайте не публикуются. Читала уже множество материала на данную тему, но везде только косвенно обо всем.

    • Мне кажется, что это не проблема WordPress, ошибка возникает на стороне сервера, не обрабатывающего директивы cron (запланированные события). Обратитесь к хостеру, пусть разбирается с этим. Если он не может или не хочет разбираться — меняйте хостера на другого, на хостинге которого cron работает правильно.

      Так же подобное я иногда замечал при использовании плагинов кэширования. Однако в конечном итоге все равно все сводилось к работе cron.

      В качестве решения можно использовать плагин WP Missed Schedule Fix Failed Future Posts. Однако я бы поменял хостера, раз он не может или не хочет обеспечить нормальную работу вашего сайта.

      • Это не ошибка на стороне сервера, а сознательно встроенная в CMS система вымогательства.

        Разработчики объясняют, что типа если с одной CMS управляется много сайтов, да еще статьи с каждого сайта выходят на всех языках народов мира сразу, то возникает повышенная нагрузка на сервер. Поэтому, типа для вашего же блага (только вы от дурости этого не понимаете) мы сделали заведомую просрочку для публикаций — тогда публикации происходят в разное время, когда посетитель зайдет на сайт, и вы экономите копейки на тарифах хостинга.

        В реальности же любой сайт в наше время имеет представительство в соцсетях, где дублируются его основные материалы. При этом для каждой соцсети существует свое оптимальное время для публикации материалов. Так вот, WordPress сделан так, чтобы возможности для грамотного кросспостинга максимально нарушить. Чтобы вроде возможности есть, а реально их бы не было, или чтобы через ж…
        Тем самым каждому владельцу WordPress — прикиньте, сколько их — ненавязчиво предлагается заплатить по $50 в год за подключение коммерческих плагинов, в которых «исправлены недостатки» и «расширены базовые возможности».

        В свое время в репозитории был специальный плагин, обходящий зловредную функцию и публикующий материалы именно когда надо — они его из репозитория выкинули. Есть на гитхабе, вот только работает ли он с последними версиями WP — х.з.