Оновлення дати допису в один клік

За підтримки:
Все автоновости киева на автомобильном информационном портале, а также авто события, тюнинг, автобизнес.

Уявімо, що потрібно змінити дату певного допису у блозі на WordPress, поставивши сьогоднішнє число. Можливо тому, що запис став неймовірно актуальним, а можливо для того, щоб просто поставити конкретний допис знов першим на блозі. В принципі, мотивація може бути різною, а для нас головне дія 🙂

У такому випадку треба зайти в адмінку, на сторінку редагування допису і справа у стрічці “Опубліковано” терпеливо вводити нову дату та час публікації. Потім клацнути кнопку “Оновити”. Все вірно? Ну звичайно, ви вже й самі це все знаєте! 🙂 Не для того я пишу цей пост, щоб повторювати давно відомі речі. А, навпаки, щоб поділитись новим і цікавим. Наприклад, поділюсь кнопкою, що зробить всю вище описану довгу операцію прямо у фронт-енді на сторінці допису і всього в один клік!

Ось код, що додасть цю “чарівну” кнопку на сайт:

ID;

    if (isset($_POST[$postid])){

    $data = array (
        'ID' => $postid,
        'post_date'	=> $current,
    );

    wp_update_post($data);

    echo 'Time updated!';

    }
?>

УВАГА! Цей код повинен бути у циклі (loop)! Його можна вставляти у шаблон одиночного поста або архіва постів. Найкраще, одразу після заголовка.

Фільтр користувачів, для яких буде доступна дана кнопка, відбувається по можливості (capability). Я обрав можливість користувача постити html теги чи навіть js-скрипти (мають Адмін і Редактор). Для гостей і користувачів з іншими правами жодної кнопки показано не буде.

Гаразд. А чи можливий подібний функціонал у адмінці на сторінці всіх постів? Звісно! Для цього у файл functions.php вашої теми слід додати наступний код:

ID;

if (isset($_POST[$postid])){

$data = array (
    'ID' => $postid,
    'post_date'	=> $current,
);
wp_update_post($data);

echo 'Time updated!';
}

echo '
'; echo ''; echo '
'; } } ?>

Тепер, на сторінці постів у адмінці для тих же користувачів (Адмін і Редактор) з’явиться нова колонка з кнопкою “Edit Time” навпроти кожного допису. Робить вона те ж саме – в один клік оновлює дату і час допису на поточні.

Талісмани спортивних ігор

Талісмани спортивних ігор

Цікава інфографіка

Цікава інфографіка

Новіший допис