Я пытаюсь адаптировать существующий форумный плагин, который не имеет возможности для подключения медиа.
Плагин работает как пользовательский тип сообщения, поэтому он будет таким же «простым», как прикрепление изображения к сообщению.
Меня интересует только прикрепление изображений, а не файлов любого типа, но плагин все же использует, wp_editor
и поэтому решение должно каким-то образом интегрироваться с этим. Я не слишком беспокоюсь о создании кнопки tinyMCE, если решение способно вставлять миниатюру изображения в текстовую область tinyMCE.
Обратите внимание, я имею в виду интерфейс моего сайта, а не административную область.
В абсолютно идеальной ситуации я бы хотел, чтобы этот сценарий происходил:
- Пользователь нажимает «Задать вопрос»
- Использование входит в их детали сообщения
- Пользователь нажимает кнопку на интерфейсе tinyMCE, который, как и StackExchange, просит пользователя загрузить файл.
- Затем система вставляет миниатюру правильного размера в текстовую область tinyMCE, сократив файл до размера миниатюры
- Нажав на это изображение, вы получите ту же функциональность, что и вложение изображения в сообщении.
- Затем пользователь может нажать еще раз, чтобы вставить новое изображение
- Пользователь также может при необходимости удалить изображение из текстовой области tinyMCE.
Тем не менее, я рад, что кнопка tinyMCE является периферийной - если окно «загрузки файла» значительно проще, это нормально.
Я сталкивался с этой ссылкой, но я всегда опасаюсь читать статьи WordPress на t'interwebs, так как я никогда не уверен, насколько они безопасны, и я не являюсь экспертом в области безопасности php.
Заранее спасибо,
wp_editor()
функцию, почему бы просто не использовать встроенный в нее набор для загрузки медиафайлов? Я не использовалwp_editor
интерфейс на переднем крае, но есть люди, которые успешноwp_editor
мультимедиа даст пользователям любого уровня доступ ко всей моей медиатеке? Я бы не хотел, чтобы это имело место, просто чтобы они загрузили свои собственные.media-upload.php
источник, но я уверен, что на media_upload_tabs есть фильтр, где вы можете отключить вкладку «Медиатека». Я посмотрю на это и увижу ...Ответы:
Я думаю, что самый простой способ, поскольку вы уже используете эту
wp_editor
функцию, это просто включить кнопки мультимедиа в экземпляр WP_Editor - таким образом, у вас будут встроенные функции, в том числе кнопка «Вставить в сообщение», встроенная в бесплатно.Как вы это сделаете, очевидно, зависит от плагина, с которым вы пытаетесь работать. Тем не менее, это должно начать вас. Включите такой код в шаблон страницы для отображения редактора, и вы получите редактор на своей странице. Включение этого в форму и обработка результатов - это еще один шаг, не описанный здесь.
Определение почтового идентификатора, вероятно, является важной частью, и то, как вы это сделаете, будет зависеть от логики вашей функциональности. Я бы предложил:
источник
Может быть, это не ваше идеальное решение, но оно того стоит. Получил это, прибегая к помощи, но, к сожалению, я забыл URL. Присоединяемая часть похожа на статью в @goldenapples.
Вот основная функция.
Функция ajax
Разметка
Надеюсь это поможет
источник
wp_handle_upload
помещает загруженный файл в каталог wp-content / uploads.wp_insert_attachment
ловит информацию о файле и сохраняет ее как вложение в таблице wp_posts.wp_generate_attachment_metadata
иwp_update_attachment_metadata
делает то, что говорит. Вторая часть - это функция ajax, которая обрабатывает форму, показанную в разметке, используяattach uploads
функцию.