! Запросто с WordPress - доступная ручная работа по правилам оптимального интернета

Здравствуй всегда, читатель !
написано: — 
отредактировано: 2019-11-29
издатель:  в теме: Сниппеты, хаки, функции 4 комментария
 
Запросто с WordPress — ATs media fashion

Открепляем прилепленные записи (Sticky Posts) автоматически — по заданной дате

Сегодня пост по теме «прилепленные записи» — мною будет предложен для кого-то, возможно, полезный код, который автоматически — по заданной дате — открепит ранее прилепленную запись.

Не так давно, поправлял клиенту сайт на базе шаблона ClassiPress (доска объявлений) — ему как раз нужно было сделать так, чтоб VIP объявления (отработка которых, скажем так, выполнена по принципу Sticky Posts) откреплялись каждая по заданному времени.

На сайте клиента этот функционал работал неправильно! (клиент купил шаблон, и однажды обнаружил, что по истечении срока VIP-статус объявления не открепляется)!!

…я всё это дело поправил и теперь решил поделиться кодом, который открепляет запись автоматически — по ранее заданному времени.

…но давайте немного поподробнее…


 

 

 

 

Sticky Posts WordPress

 

 

 

 

Коротко по теме:

 

 

На обычном сайте на базе WP прикрепить запись (указать статус Sticky) просто! однако как прикрепить, так и открепить запись возможно только вручную (подробнее ниже)!..

 

 

В шаблоне же ClassiPress по принципу sticky записей (и произвольных типов) организован вывод VIP блоков. /классипресс — доска объявлений: на этой основе у меня есть
шаблон ats-modШаблон ats-mod
Шаблон включает в себя модуль регистрации пользователей; защиту… модули оплаты… тонко подстраиваемый функционал из административной панели.
Полностью переведён на русский язык. Требуемые версии: php 5.2. WP 5.3 и т.п.
/.

 

 

итак: достаточно отметить флажком чекбокс «Прилепить на главную страницу» и наша запись будет помечена как sticky т.е. будет прилеплена на главную страницу, либо выведена в каком-то блоке.

 

 

 

 

открепляем прилепленные записи автоматически - по заданной дате - Sticky Post

 

 

 

 

В итоге все наши прилепленные записи будут сгруппированы в административной панели в разделе «Все записи».

 

 

 

 

Sticky

 

 

 

 

Прилепленные записи WordPress — полезная функция, на базе которой можно выполнить множество полезных фишек. Например, как упомянуто чуть выше, — выводить некий блок с важными сообщениями для пользователей.

 

 

Всё бы замечательно, однако, управлять прилепленными записями (прилеплять/откреплять) возможно только при редактировании записи: то есть вручную… Так на данный момент устроено в WordPress.

 

 

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

 

 

 

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

 

 

 

Получится примерно так, как видно на скриншоте ниже: дата, достигнув которую (по истечению которой), прилепленная запись потеряет свою липкость (т.е. открепится — активность Sticky будет отменена) — 2020-11-29 10:18:15

 

 

Sticky Posts

 

 

 

 

 

Возможно, кому-то будет интересно прочесть:

выводим свои соответствующие теги (метки) для конкретной текущей рубрики (2 варианта) — Получится так: все имеющиеся на сайте теги — всё их общее количество выводиться не будут — а будут отображены только те метки (теги) которые относятся к данной конкретной категории — в любой другой рубрике, будут выводиться только соответствующие ЕЙ метки!..

 

как перевести сайт на httpsкак перевести сайт на https
во всём существуют нюансы. А в переводе своего сайта на ssl шифрование (https), этих закавык множество!
Вот о них сегодня в подробностях и поговорим:

 

 

 

 

к оглавлению $

открепляем прилепленные записи Sticky Posts автоматически — по заданной дате

 

 

 

 

Для того, чтобы прилепленные записи откреплялись по заданному времени — автоматически, всего-то требуется добавить такой код в файл functions.php активного шаблона…

 

…или, к примеру, организовать плагинСоздаём плагин
айл функций — занимательный помощник в расширении функционала сайта ! особливо, если используется по назначению, — однако, многие владельцы блогов/сайтов замечательным образом превращают functions.php в сборную солянку.

 

 

 

напоминаю: все прилепленные записи, которые требуется открепить автоматом по дате, должны иметь произвольное поле по типу date_unsticks с соответственными данными!

 

 

 

А вот и сам код:

 

 

 

/*открепляем прилепленные записи автоматически - по заданной дате*/
function date_ats_is_expired( $post_id = 0 ) {
$expires = get_post_meta( $post_id, 'date_unsticks', true ); // date_unsticks имя пр. поля даты истечения срока stick = Y-m-d ...и минуты

if( ! empty( $expires ) ) { // проверяем данные переменной

// Получаем текущее время и дату окончания срока действия "липкости" записи
$current_time = current_time( 'timestamp' );

$expiration = strtotime( $expires, current_time( 'timestamp' ) );

// Определяем, превышает ли текущее время срок "липкости" поста
if( $current_time >= $expiration ) {

return true;

}
}

return false;
}
/**
* Unstick Posts
*
* @access public
* @since 2.2
* @return void
*/
add_filter( 'the_title', 'date_ats_unstick', 100, 2 );

function date_ats_unstick( $titless = '', $post_id = 0 ) {

if( date_ats_is_expired( $post_id ) ) {

// если срок "липкости" записи истек - отклеиваем
unstick_post( $post_id );
}

return $titless;

}
/*открепляем прилепленные записи автоматически - по заданной дате*/

 

 

 

 

к оглавлению $

работа кода автоматического открепления прилепленных записей Sticky Posts

 

 

 

…код проверяет наличие на сайте так называемые прилепленные записи stick_post, отслеживает даты окончания (если таковые указаны) и по исходу времени изменяет статус. То есть открепляет запись. а проще говоря — снимает флажок чекбокса «Прилепить запись на главную страницу» или там как-то ещё может быть…

 

…и что примечательно!! всё это открепление sticky происходит в автоматическом режиме))

 

 

В переменной $expiration — сравним текущее время timestamp с временем заданного срока sticky$expires.

 

 

$expiration = strtotime( $expires, current_time( 'timestamp' ) );

 

 

 

Далее банальное математическое php сравнение: (больше или равно от текущего времени… или меньше или равно и т.д.)

 

 

if( $current_time >= $expiration )

 

 

 

В коде используем функцию unstick_post. т.е. UN — деактивация.

 

 

…и также в сниппете я дал некоторые комментарии, думаю, этого достаточно!..

 

 

 

Это решение возможно изменить по своим усмотрениям… прикрепить к требуемому функционалу сайта. Например в связках с update_post_meta() или wp_update_post().

 

 

 

…на этом этапе моё повествование можно считать законченным.

 

Однако, если у вас остались вопросы, задавайте их в комментариях…

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы...разработка...


Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!
 ! самое читаемое:
   Выбираем хостинг для своего сайта — сервис — рейтинг хостингов   Подборка полезного кода (сниппеты) для работы магазина на WooCommerce   Включаем обслуживание gzip сжатия файлов на хостинге и в htaccess   Подключение jQuery библиотеки от CDN Google — рационально!..   Как создать на хостинге тестовый сайт за 5 10 минут..?   14 полезных сниппетов — код для наилучшей работы сайта WordPress — функции   Woocommerce шорткоды и их применение   Открепляем прилепленные записи (Sticky Posts) автоматически — по заданной дате   Как выбрать хостинг — пошаговые инструкции (обзор 4 хостингов) — нюансы модного ssl сертифицирования   Новые изменения в правилах AdSense вступили в силу!..   Ускоряем сайт: основные кэш и gzip правила .htaccess которые нужно знать   Условные теги WordPress: наиболее полная подборка, пояснения   Создаём плагин — отдельный файл функций для сайта my-functions.php   Добавим на сайт карту Google Maps с поиском указанных адресов…
↔ перетаскивайте ленту ↔

смотреть ещё статьи в теме Сниппеты, хаки, функции
меточная навигация:


Комментарии © 4 к статье: Открепляем прилепленные записи (Sticky Posts) автоматически — по заданной дате

Поделитесь соображениями: Ваши мысли очень важны! $ правила комментирования ©

Внимание! Обязательные поля помечены *

  отныне доступен плагин: privacy-policy ©

 необходимо принять правила конфиденциальности и пользовательского соглашения

  1. Миха, привет! Прикольный код. Нужно будет скопировать и сохранить. Вдруг пригодится. Так что спасибо за науку.

    Ответить - Андрей

    • Привет!!
      Прикольная оценка коду «прикольный».
      Что в нем прикольного?? код как код… полезный иногда бывает…

      Ответить - Михаил

  2. Здравствуйте!
    скажите пожадуйста, а где собраны данные о стики постах в БД??

    Ответить - Светлана

    • Здравствуйте!
      в таблице: wp_options — ID поста.

      Ответить - Михаил
Яндекс.Метрика
? стартовая линейка услугSkype консультацияЕсли вы выбрали для своего сайта WordPress и только-только начинаете изучать панель управления контентом, то этот вариант оnline консультаций — практически по любым вопросам — для вас! вопросы сюдаSkype онлайн