Estou procurando adaptar um plugin semelhante a um fórum existente, que não tem facilidade para anexar mídia.
O plug-in funciona como um Tipo de postagem personalizado, portanto, seria "simples" como anexar uma imagem a uma postagem.
Estou preocupado apenas em anexar imagens em vez de qualquer tipo de arquivo, mas o plugin usa wp_editor
e, como tal, a solução deve, de alguma forma, integrar-se a isso. Não estou muito preocupado em criar um botão tinyMCE, desde que a solução seja capaz de inserir uma miniatura da imagem na área de texto tinyMCE.
Observe que estou me referindo ao front-end do meu site, e não à área de administração.
Em uma situação absolutamente ideal, eu gostaria que esse cenário ocorresse:
- O usuário clica em "Fazer uma pergunta"
- Use insere os detalhes da postagem
- O usuário clica em um botão na interface tinyMCE que, semelhante ao StackExchange, solicita que o usuário envie um arquivo.
- O sistema insere a miniatura de tamanho correto na área de texto tinyMCE, processando o arquivo nesse tamanho de miniatura
- Clicar nesta imagem deve oferecer a mesma funcionalidade que um anexo de imagem em uma Postagem
- O usuário pode clicar novamente para inserir uma nova imagem
- O usuário também pode excluir a imagem da área de texto tinyMCE conforme necessário
No entanto, estou feliz que o botão tinyMCE seja periférico - se uma caixa de "upload de arquivo" for significativamente mais fácil, tudo bem.
Encontrei este link, mas estou sempre apreensivo sobre a leitura de artigos do WordPress nas redes, pois nunca tenho muita certeza de como eles são seguros, nem sou especialista em segurança php por qualquer extensão da imaginação.
Desde já, obrigado,
wp_editor()
função, por que não usar apenas a caixa de upload de mídia incluída nela? Eu não usei owp_editor
no front-end, mas há algumas pessoas que tenham obtido com sucesso trabalhar com uploads de imagens, veja aqui , por exemplo ...wp_editor
uploads de mídia daria aos usuários de qualquer nível acesso a toda a minha biblioteca de mídia? Eu não gostaria que fosse esse o caso - apenas para eles fazerem o upload deles.media-upload.php
fonte há algum tempo, mas tenho certeza de que há um filtro em media_upload_tabs, onde você pode desativar a guia "Biblioteca de mídia". Vou dar uma olhada e ver ...Respostas:
Eu acho que a maneira mais fácil, já que você já está usando a
wp_editor
função, basta incluir os botões de mídia na instância WP_Editor - dessa forma, você terá as funções nativas, incluindo o botão "Inserir na postagem", incorporado de graça.Como você faz isso obviamente depende do plugin com o qual você está tentando trabalhar. No entanto, isso deve ajudá-lo a começar. Inclua um código como este em um modelo de página para exibir o editor, e você receberá um editor em sua página. Incluir isso em um formulário e processar os resultados é outra etapa não detalhada aqui.
Definir o ID da postagem é provavelmente a parte crítica, e como você faz isso dependerá da lógica de sua funcionalidade. Eu sugeriria:
fonte
Talvez essa não seja a sua solução ideal, mas vale a pena tentar. Entendi, pesquisando no Google, mas infelizmente eu esqueci o URL. A peça anexada é semelhante à do artigo @goldenapples.
Aqui está a função básica.
A função ajax
A marcação
Espero que esta ajuda
fonte
wp_handle_upload
coloca o arquivo carregado no diretório wp-content / uploads.wp_insert_attachment
captura as informações do arquivo e as salva como um anexo na tabela wp_posts.wp_generate_attachment_metadata
ewp_update_attachment_metadata
faz o que diz. A segunda parte é a função ajax que processa o formulário mostrado na marcação, usando aattach uploads
função