Начиная с версии WordPress 2.9, вы можете добавлять миниатюры сообщений ко всем своим сообщениям на вашем сайте. Миниатюра поста называется избранным изображением для постов, это изображение может отображаться любым способом, это зависит от разработчика темы. Преимущество этого изображения в том, что оно позволяет добавлять изображение в сообщение, не отображая его в содержании самого сообщения.
Это позволит вам использовать изображение для отображения сообщения, а не только содержание. Основное использование этого изображения должно использоваться на странице индекса или странице результатов поиска вашего сайта WordPress.
Включить поддержку тем для избранных постов
По умолчанию темы не поддерживают эту функцию, вам нужно добавить код в файл functiona.php.
add_theme_support( 'post-thumbnails' );
Установить рекомендуемое изображение
На экране поста есть мета-поле, где вы можете установить изображение в качестве избранного изображения в посте.
Показать избранные изображения
Чтобы отобразить рекомендуемое изображение в вашей теме WordPress, вам нужно использовать функцию the_post_thumbnail () , но сначала вам нужно проверить, есть ли в сообщении в настоящее время уменьшенное изображение, используя has_post_thumbnail () .
if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it. the_post_thumbnail(); }
Проверить Избранные изображения на пост
Если ваша тема требует, чтобы в сообщении содержалось рекомендованное изображение, вам необходимо убедиться, что в вашем сообщении есть выделенное изображение, прежде чем разрешить пользователям публиковать это сообщение.
Если вам нужно проверить сообщение, вы можете сделать это при сохранении действия сохранения save_post , это действие будет выполнено при сохранении текущего сообщения.
Чтобы правильно проверить это, нам нужно проверить, есть ли в сообщении миниатюра сообщения, используя функцию has_post_thumbnail () . Если в сообщении нет миниатюры сообщения, то нам нужно вернуть сообщение в черновик и вывести на экран сообщение об ошибке .
Подтвердить миниатюру сообщения
Следующий код может быть использован для проверки миниатюры сообщения.
Этот код будет выполняться для действия сохранения сообщения. Сначала мы проверяем, что тип сообщения относится к сообщению. Если тип записи не является публикацией, мы возвращаемся из функции, поэтому мы не продолжим.
Затем мы проверяем, есть ли у сообщения миниатюра, если у него нет миниатюры, тогда мы устанавливаем новый переходный процесс, чтобы мы могли отобразить сообщение об ошибке. Затем мы сбрасываем статус сообщения на черновой, чтобы сообщение не отображалось на веб-сайте. Если у сообщения есть миниатюра, тогда мы можем просто удалить переходный процесс, чтобы сообщение об ошибке больше не отображалось.
add_action('save_post', 'pu_validate_thumbnail'); function pu_validate_thumbnail($post_id) { // Only validate post type of post if(get_post_type($post_id) != 'post') return; // Check post has a thumbnail if ( !has_post_thumbnail( $post_id ) ) { // Confirm validate thumbnail has failed set_transient( "pu_validate_thumbnail_failed", "true" ); // Remove this action so we can resave the post as a draft and then reattach the post remove_action('save_post', 'pu_validate_thumbnail'); wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'pu_validate_thumbnail'); } else { // If the post has a thumbnail delete the transient delete_transient( "pu_validate_thumbnail_failed" ); } }
Далее мы используем действие admin_notices для отображения сообщения об ошибке, если установлен переходный процесс. Как только сообщение отобразится, мы можем удалить переходный процесс.
add_action('admin_notices', 'pu_validate_thumbnail_error'); function pu_validate_thumbnail_error() { // check if the transient is set, and display the error message if ( get_transient( "pu_validate_thumbnail_failed" ) == "true" ) { echo " <div id='message' class='error'> <strong>A post thumbnail must be set before saving the post.</strong> </div> "; delete_transient( "pu_validate_thumbnail_failed" ); } }
Когда вы сохраните сообщение, и у него нет избранного изображения, вы увидите, что сообщение снова настроено на черновик и на экране отображается сообщение об ошибке.