Как я уже упоминал пару раз ранее, WordPress довольно удивителен в добавлении хуков и хаков без изменения основных компонентов. У пользователя так много опций, чтобы полностью его настроить.
Некоторое время назад мы написали статью о добавлении социальных сетей без Javascript, и она стала очень популярной. Как и в случае с WordPress Featured Image вариант, вы можете украсить свой макет блога и улучшить презентацию вашего блога. Разработчик темы может использовать одно и то же изображение в нескольких вариантах в зависимости от типа темы .
Предоставление и добавление избранного изображения в пост / страницу WordPress не является обязательным вариантом. Иногда это может создать пустое место на теме и может нарушить макет вашего блога. В этом уроке мы рассмотрим советы о том, как заставить пользователя загружать избранные изображения перед публикацией сообщения?
Давайте начнем:
- использовать эти
save_postа такжеadmin_noticesдействия - использование
post_updated_messagesфильтры - использование
has_post_thumbnail($post_id)— который возвращает логическое значение, если сообщение имеет избранные изображения - Во время публикации проверьте, установлен ли эскиз?
- если нет, продолжайте и установите переходную переменную на «нет»
- Если временная переменная равна «нет» — установите уведомление администратора с четким сообщением
- если временная переменная не «нет» — опубликуйте сообщение
Вставьте ниже код вашей темы functions.php файл
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
// save_post — это действие, запускаемое при создании или обновлении поста или страницы
add_action ( 'save_post' , 'crunchify_verify_thumbnail' ) ;
add_action ( 'admin_notices' , 'crunchify_show_thumbnail_error' ) ;
функция crunchify_verify_thumbnail ( $ post_id ) {
// Это относится только к типу `post`. Вы могли бы иметь это и для `page`
if ( get_post_type ( $ post_id ) ! знак равно пост )
возврат ;
если ( ! has_post_thumbnail ( $ post_id ) ) {
// устанавливаем переходный процесс, чтобы показать пользователям сообщение администратора
set_transient ( crunchify_check_thumbnail , «нет» ) ;
// отцепить эту функцию, чтобы она не зацикливалась
remove_action ( 'save_post' , 'crunchify_verify_thumbnail' ) ;
// обновляем пост, устанавливаем его в черновик
wp_update_post ( array ( 'ID') = > $ post_id , 'post_status' = > «черновик» ) ) ;
add_action ( 'save_post' , 'crunchify_verify_thumbnail' ) ;
} еще {
delete_transient ( crunchify_check_thumbnail ) ;
}
}
функция crunchify_show_thumbnail_error ( )
{
// Показывать только сообщение об ошибке, если установлена временная переменная
если ( get_transient ( crunchify_check_thumbnail ) == «нет» ) {
эхо
Howdy. Вы не сможете` опубликовать 'этот пост, пока не выберете `Featured Image`. strong> p> < / div> ; delete_transient ( crunchify_check_thumbnail ) ;
}
}
|
Теперь, если вы попытаетесь опубликовать пост без миниатюрного изображения — вы должны увидеть сообщение об ошибке, подобное этому.
Но с приведенным выше кодом вы все равно можете получить Post published сообщение. С помощью приведенного ниже кода вы сможете легко удалить это сообщение.
|
1
2
3
4
5
6
|
// Простой способ удалить опубликованное уведомление при обработке ошибки
add_filter ( 'post_updated_messages' , 'crunchify_disable_publish_successful_msg' ) ;
функция crunchify_disable_publish_successful_msg ( $ сообщения )
{
вернуть массив ( ) ;
}
|
0.00 (0%) 0 votes








