@genrich_pauls

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

такая идея возможность пользователям на стуки закрепить пост 4 раза в блоке Промо в течение месяца

Но как выставить этот срок и где хранить? Нашел функцию для скрывания постов после окончания срока годности

function tutsplus_filter_expired_posts( $query ) {
          
        // doesn't affect admin screens
        if ( is_admin() )
            return;
        // check for main query 
        if ( $query->is_main_query() ) {
      
            //filter out expired posts
            $today = date('d-m-Y');
            $metaquery = array(
                array(
                     'key' => 'expires',
                     'value' => $today,
                     'type' => 'DATE',
                     'compare' => '<'
                )
            );
            $query->set( 'meta_query', $metaquery );
        }
    }
    add_action( 'pre_get_posts', 'tutsplus_fil

ter_expired_posts' );


или лучше что-то вроде этого добавить в шаблон ?
function deleteOldStickies($post_id, $postDate) {
    $postDate = strtotime($postDate);
    $expire = strtotime('-1 day') + get_option( 'gmt_offset' ) * 3600;
    if ($postDate < $expire && is_sticky()) {
        unstick_post($post_id);
    }
}
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Мои работы: otshelnik-fm.ru
В метакей поста пишешь дату. По наличию выводишь на главной.
По крону выбираешь записи с метакеем. Сравниваешь дату - и убираешь метакей.
Записи автоматически с главной пропадут.

в функции крона можно и хук внедрить - срабатывает у тех записей что просрочились. По этому хуку функцией отправлять письмо: "срок размещения объявления истек. плати ещё!"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы