WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

Как можно с фронтенда добавлять фотки к постам?

У меня на одном сайте народ проходит пару шагов(страниц) заполняя анкету на последней странице я вывожу суммарную информацию и добавляю пост в базу.

Как лучше организовать загрузку пару фото и добавление к посту?

swyat 2.1 года назад

Если кому интересен результат:
В результате я сделал но совсем по другому smile
гружу фото с формы на прямую в фото хостинг и создаю custom_fields
код упростил а то у меня вагон проверок и разных массивов smile

//форма
<form id="featured_upload" method="post" action="#" enctype="multipart/form-data">
	<input type="file" name="my_image" class="my_image"  multiple="false" />
	<input id="submit" name="submit" type="submit" value="Upload" />
</form>
<?php
//curl init
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://uploads.im/api');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);

// подготовка данных для файла
$data = array(
			'uploaded_file' => '@'.$_FILES[my_image]['tmp_name'].';filename='.basename($_FILES[my_image]['name'])
		);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $data );

//отправка файла и json decode
	$res = json_decode( curl_exec($ch), true );

//добавление custom_fields
	add_post_meta($post_id, 'image' , $res[data][img_url]);
?>
Kama 2.1 года назад

Спасибо за решение! Плюсанул smile

1
swyat15 2.1 года назад
  • 2
    @
    1. Делаете необходимый input в форме
    2. После добавления поста в базу, используйте функцию media_handle_upload() для загрузки и прикрепления картинок к посту. Если нужно просто загрузить картинку, чтобы WordPress не знал о ней, можно использовать wp_upload_bits()
    swyat 2.1 года назад

    Все супер я так м думал но у меня вопрос по безопасности: чтоб загружать фото нужно открыть доступ к папке sad как тогда быть у меня на хосте функция грузит только когда доступ 777 sad

    swyat 2.1 года назад

    ну и еще думал о варианте грузить все с помощью ajax

    kaliyan 2.1 года назад

    Обе функции загружают файлы в стандартную папку wordpress — wp-content/uploads/...
    Поэтому не стоит волноваться. Что касается типа файла, обе функции проверяют расширение и mime файла, поэтому загрузить что-то, кроме указанных типов файлов не получится.

    swyat 2.1 года назад

    результат оставил в заментке

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.