За підтримки:
Все автоновости киева на автомобильном информационном портале, а также авто события, тюнинг, автобизнес.
Уявімо, що потрібно змінити дату певного допису у блозі на 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 '
';
}
}
?>
Тепер, на сторінці постів у адмінці для тих же користувачів (Адмін і Редактор) з’явиться нова колонка з кнопкою “Edit Time” навпроти кожного допису. Робить вона те ж саме – в один клік оновлює дату і час допису на поточні.