WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Как получить дату последнего отложеного до публикации поста?

Подскажите пожалуйста, какова должна быть логика этого задания и как его можно реализовать?

Задание:
Создать плагин, который за N минут до времени публикации отложенного поста (N задается из админки) администратору на email отсылает текстовое сообщение, предзаполняемое тоже из админки.

Так вот,

  1. мне нужно получить дату последнего отложеного поста;
  2. от даты отнять N, которое я должын задать с админки;
  3. вписать текстовое сообщение в уже заготовленом в админке поле
  4. отослать на почту админа.

Я прошу помочь мне попункто описывая, что можно использовать в таких случаях если у вас есть время и желание.

Спасибо.

0
Гость
7.2 года назад
  • 1
    shevan222 wp-best.ru

    Получаешь последнюю запланированную запись, или с помощью get_posts()

    $the_query = new WP_Query(array(
    		'post_status' => 'future',
    		'posts_per_page' => 1,
    		'orderby' => 'date',
    		'order' => 'ASC'
    	));
    

    Далее get_the_time(), сравниваешь/отнимаешь/преобразуешь, формируешь сообщение и wp_mail()

    Более подробно не могу расписать, потому что сам не кодер.

    Так навскидку, наверное в настройках плагина можно указать периодичность проверки. Берется текущая дата, от неё формируется запрос на ближайший запланированный пост.

    Или же, например, на каждый запланированный пост автоматически создается уведомление, которое отправляется (дата публикации - N) через cron

    Самому интересно узнать, что скажут другие эксперты smile

    yc_gm 7.2 года назад

    А как далее сравнить даты?
    Я сравниваю вот так:

    $time = get_post_time("U", true, $post->ID);
    $current = current_time('timestamp');
    $time = human_time_diff($time, $current);

    получаю NULL.
    Далее, как отнять и что иммено нужно отнять?
    Во что нужно преобразовать?

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация