WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Как программно установить избранные изображения в WordPress

55

Вы хотите установить избранное изображение с помощью кода в WordPress? Иногда вы сталкивались с задачей, в которой вам нужно написать фрагмент кода, который должен установить миниатюру сообщения для сообщения, страницы или пользовательских типов сообщений. В этой статье мы изучаем, как программно настроить избранное изображение в WordPress.

WordPress предоставляет множество полезных функций для веб-сайтов. Одно из них – Featured Image, также известное как миниатюра сообщения. Featured Image – это типичное изображение для публикации, страницы или произвольного типа публикации.

Обычный способ установить миниатюру сообщения

Мы можем загружать избранные изображения в определенные сообщения или страницы, щелкнув ссылку «Установить избранное изображение». Он откроет загрузчик мультимедиа WordPress, где вы можете выбрать существующее изображение или загрузить новое изображение.

Как программно установить избранные изображения в WordPress

Это простой способ установить миниатюру сообщения в WordPress. Те же шаги необходимо выполнить для страниц и типов сообщений.

Но, как упоминалось в начале, цель этой статьи – написать код, который устанавливает миниатюру сообщения, не выполняя описанных выше шагов.

Программная установка избранного изображения

Для этого урока я создаю форму, в которой пользователь может выбрать изображение, и это изображение будет установлено в качестве миниатюры сообщения для указанного идентификатора сообщения. Поместите приведенный ниже код в свой файл шаблона.

<form method="post" enctype="multipart/form-data">     <div class="form-group">         <label><?php _e('Select Image:', 'Your text domain here');?></label>         <input type="file" name="image">     </div>     <div class="form-group">         <input type="submit" name="upload_file" value="Submit">     </div> </form>

Этот код отобразит форму с вводом файла и кнопкой отправки.

Как программно установить избранные изображения в WordPress

Теперь, щелкнув кнопку отправки, нам нужно установить избранное изображение. Так что напишите приведенный ниже код в functions.phpфайл активных тем .

function fn_set_featured_image() {     if (isset($_POST['upload_file'])) {           $upload = wp_upload_bits($_FILES["image"]["name"], null, file_get_contents($_FILES["image"]["tmp_name"]));           if (! $upload_file['error']) {             $post_id = YOUR_POST_ID_HERE; //set post id to which you need to set featured image             $filename = $upload['file'];             $wp_filetype = wp_check_filetype($filename, null);             $attachment = array(                 'post_mime_type' => $wp_filetype['type'],                 'post_title' => sanitize_file_name($filename),                 'post_content' => '',                 'post_status' => 'inherit'             );               $attachment_id = wp_insert_attachment( $attachment, $filename, $post_id );               if (! is_wp_error( $attachment_id)) {                 require_once(ABSPATH. 'wp-admin/includes/image.php');                   $attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename );                 wp_update_attachment_metadata( $attachment_id, $attachment_data );                 set_post_thumbnail( $post_id, $attachment_id );             }         }     } } add_action('init', 'fn_set_featured_image');

Здесь я использую метод wp_upload_bits(), который загружает изображение и возвращает абсолютный и относительный путь. Мы должны взять сгенерированный абсолютный путь и перейти к следующему методов, таких как wp_check_filetype(), wp_insert_attachment()и wp_generate_attachment_metadata()для дополнительной обработки.

После этого, если вы перейдете на экран редактирования указанного сообщения, вы увидите его миниатюру в разделе «Избранные изображения». Это означает, что мы успешно установили показанное изображение программно.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее