Задать вопрос
@weart

Как прикрепить изображение к посту при использовании mediaUploader на фронте?

Привет всем.

Пишу личный кабинет для сайта - жутко интересно. Встала задача размещать юзерами картинок, которые я потом буду собирать в галерею на странице поста.
Для этого хотел использовать стандартный загрузчик вп. Но проблема в том, при загрузке картинок она не привязана к посту (что логично, его ведь еще нет), и я никак не соображу, как его задать на тот, который будет у записи после wp_insert_post. Если использовать <input type="file"> и media_handle_upload, то проблем нет. Но хочется задействовать именно родной по некоторым причинам.
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@weart Автор вопроса
Все решилось буквально парой строчек. Не тем путем пошел изначально

$post_id = wp_insert_post( $post_information );					

if ( isset( $_POST['elements'] ) ) {

  $images = $_POST['elements'];						
  $images = explode( ',', $images );
              
  update_post_meta( $post_id, '_user_images', serialize( $images ) );

}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
я делаю так
/**
	 *	By Pytex
	 * Добавляет картинку в медиабиблиотеку и 
	 * прикрепляет ее к посту как миниатюру 
	 *
	 * @param  array  $img 
	 * @param  number  $post_id
	 */
	private function atach_image( $img, $post_id ) {
		
		$file_array = array();
		 
		$file_array['name'] = $img['name'] ;
		$file_array['tmp_name'] = $img['path'];
		 
		// upload file to library
		$media_id = media_handle_sideload( $file_array, $post_id);
		 
		if( !is_wp_error($media_id) ) {
		 
			// attach image to post
			set_post_thumbnail($post_id, $media_id);
		}
		return $media_id;
	}

Но прошлая прикрепленная картинка открепляется и остается висеть в media библиотеке

ее можно удалить так
wp_delete_attachment( $attach_id, true );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы