Intereting Posts
Как заставить всех пользователей использовать возможности роли автора? Найти шаблон страницы предыдущей страницы Добавить класс из настраиваемого поля в класс виджетов Проблемы с WordPress после изменения Размер вложения списка эхо-сообщений в сообщении Функция сортировки Woocommerce не работает Размещение сообщения WordPress с использованием post_class .htaccess и настройка виртуального хоста для WP в его собственном каталоге Проблемы с настройкой встроенного слайдера Эта веб-страница недоступна ERR_NAME_NOT_RESOLVED Есть ли крючок / действие, которое запускается при добавлении или удалении миниатюры сообщений? Лучший способ получить статистику Можно ли отключить параметры выравнивания изображения в редакторе сообщений? Как разрешить моему сообщению обновлять дату в неделю Возможность загрузки только после отправки по электронной почте

установить выбранный образ-файл-ввод в качестве отображаемого изображения из wp-интерфейса

СЦЕНАРИЙ : Я разрешаю создавать сообщения из front-end. Форма также имеет четыре поля загрузки изображения. Я использую приведенный ниже код для вложений изображений и установки миниатюры сообщений.

//insert attachments if ($_FILES) { foreach ($_FILES as $file => $array) { $newupload = insert_attachment($file,$pid); } } //attachment helper function function insert_attachment($file_handler,$post_id,$setthumb='false') { if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK){ return __return_false(); } require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); $attach_id = media_handle_upload( $file_handler, $post_id ); //set post thumbnail if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id); return $attach_id; } 

Изображение с уменьшенным изображением / изображением, которое устанавливается через этот код, представляет собой ПОСЛЕДНИЕ изображения, которые загружаются. Я попробовал поиск в Google для «заданной миниатюры сообщений из frontend wordpress» и провалился через множество статей, но никто не приблизился к тому, что я прошу здесь. Большинство потоков, с которыми я столкнулся в SE по отношению к front-end сообщению, либо говорят о настройке изображения или о нескольких загрузках . Я также проверил все предложенные вопросы, которые были запрошены, в то время как я писал этот вопрос, чтобы убедиться, что он был задан раньше ».

Если это имеет значение, вот html, который используется в форме, довольно стандартный.

 <input type="file" name="image-one" id="image-one"/> <input type="file" name="image-two" id="image-two"/> <input type="file" name="image-three" id="image-three"/> 

ЗАПРОС : Было бы здорово, если бы я смог получить решение, которое поможет назначить любое выбранное изображение-поле ввода в качестве признака-изображения, но в данный момент, по крайней мере, мне нужно установить первый вход изображения, который будет установлен как признак -image / пост-эскизов. Пожалуйста, предложите решение.

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

Сноска: Я только что сказал, что пришло мне в голову, когда это необходимо. Если вы хотите получить дополнительную информацию, пожалуйста, дайте мне знать. Заранее спасибо.

Re: установить первый вход изображения, который будет настроен как признак-изображение / пост-эскиз

Учитывая, что вы знаете, что input name="image-one" будет вашим избранным изображением, вы можете проверить image-one как свое значение $file_handler в function insert_attachment после вызова media_handle_upload , а затем установить миниатюру. См. Следующий код.

Обратите внимание, что я устанавливаю image-one как имя поля, которое нужно искать и передавать его каждый раз.

 <?php $thumbnail_field = 'image-one'; if ( ! empty( $_FILES ) ) { foreach ( $_FILES as $file => $array ) $newupload = insert_attachment( $file, $pid, $thumbnail_field ); } //attachment helper function function insert_attachment( $file_handler, $post_id, $set_thumb = false ) { if ( UPLOAD_ERR_OK !== $_FILES[ $file_handler ]['error'] ) return false; require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; $attach_id = media_handle_upload( $file_handler, $post_id ); //set post thumbnail (featured) if ( $attach_id && $set_thumb ) update_post_meta( $post_id, '_thumbnail_id', $attach_id ); return $attach_id; } ?> 

Re: назначить любое выбранное изображение-поле ввода как признак-изображение

Я думаю, что эта часть не нужна, так как вы должны просто пометить первое поле изображения как «Лучшее изображение». Возможно, отправитель не хочет устанавливать отображаемое изображение.

При просмотре кода выше, замените строку $thumbnail_field = 'image-one'; со следующим.

 if ( ! empty( $_POST[ 'thumbnail-field' ] ) ) $thumbnail_field = esc_html( $_POST[ 'thumbnail-field' ] ); else $thumbnail_field = 'image-one'; 

Это ссылается на поле select как показано ниже. Радио и jQuery можно также использовать для форматирования и заполнения.

 <label for="thumbnail-field"> Thumbnail field <select name="thumbnail-field"> <option value="image-one">1st</option> <option value="image-two">2nd</option> <option value="image-three">3rd</option> </select> </label> 

Наконец, вы также можете обновить свою память при загрузке POST-метода PHP и проверить стандарты кодирования WordPress для написания более читаемого кода.