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

Всплывающие уведомления о записях

Хочу прикрутить к сайту небольшое всплывающее окно-уведомление о новостях (новости должны "всплывать" в рандомном порядке, например, из последних 10 записей).

Я понимаю, как сделать такую штуку на js через объект:

var messages = {
 1:'Сообщение 1',
 2:'Сообщение 2',
 3:'Сообщение 3'
}

и т.п.

Но не понимаю, как записи вордпресс из определённого раздела динамично размещать в этом объекте. То есть чтобы каждому ключу 1...N соответствовала какая-то определённая запись, и при этом они обновлялись по мере публикации новых.

То есть как класть новости в такое место, откуда можно было бы вытаскивать анонсы рандомно — по одному — для одного пользователя, без перезагрузки окна, через промежутки времени, пока непонятно.

На чистом js такое решение я делала для лендинга gba.guru (слева внизу всплывают блоки типа "этот товар только что купил..."). Это чтобы понять, что я имею в виду. То есть некоторая имитация браузерных уведомлений, но полностью в автоматическом режиме — из списка записей.

Подходящего плагина под это дело не нашла. Или как ещё такое возможно реализовать. Попап с каруселью из новостей я не рассматриваю, задумка не та немного. Если знаете — подскажите, пожалуйста.

0
maritca
3 года назад
  • 2
    kostikovmu37 t.me/kostikovmu

    Обращаться к рест апи постов например или написать свою ajax функцию и из ответа брать что нужно и выводить через js.

    Комментировать
  • 0

    Как вариант можно получать список новых постов конкретной категории
    Выведем список из 6-ти ссылок на последние уже опубликованные записи из категории 5:

    <?php 
    $args = array(
    	'numberposts' => 6,
    	'category' => 5,
    	'post_status' => 'publish',
    ); 
    
    $result = wp_get_recent_posts( $args );
    
    foreach( $result as $p ){ 
    	?>
    	— <a href="<?php echo get_permalink($p['ID']) ?>"><?php echo $p['post_title'] ?></a><br />    
    	<?php 
    } 
    ?>

    Только перед циклом foreach( $result as $p ){ закрываете тег php - ?> оборачиваете цикл в свой js код "var messages = {"

    переменные <a href=""> заменяете на echo в формате 1:'Сообщение 1', 2:'Сообщение 2', 3:'Сообщение 3'

    И закрываете "}" js и закрываете php и продолжаете js срипт дальше.

    Все это можно положить в шаблон записи single.php, получится тот же js + php код внутри можно комбинировать.

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