Je cherche à adapter un plugin de type forum existant qui n'a pas la possibilité de joindre des médias.
Le plugin fonctionne comme un type de publication personnalisé, il serait donc aussi "simple" que d'attacher une image à une publication.
Je ne souhaite que joindre des images plutôt que n'importe quel type de fichier, mais le plugin utilise wp_editor
et en tant que tel, la solution devrait d'une manière ou d'une autre s'intégrer à cela. Je ne suis pas trop inquiet de créer un bouton tinyMCE, tant que la solution est capable d'insérer une miniature de l'image dans la zone de texte tinyMCE.
Veuillez noter que je fais référence à l'interface de mon site Web plutôt qu'à la zone d'administration.
Dans une situation absolument idéale, je voudrais que ce scénario se produise:
- L'utilisateur clique sur "Poser une question"
- Utiliser entre les détails de leur publication
- L'utilisateur clique sur un bouton de l'interface tinyMCE qui, comme StackExchange, demande à l'utilisateur de télécharger un fichier.
- Le système insère ensuite la miniature correctement dimensionnée dans la zone de texte tinyMCE, après avoir compressé le fichier dans cette taille de miniature
- Cliquer sur cette image devrait offrir les mêmes fonctionnalités qu'une pièce jointe dans un article
- L'utilisateur peut ensuite cliquer à nouveau pour insérer une nouvelle image
- L'utilisateur peut également supprimer l'image de la zone de texte tinyMCE si nécessaire
Cependant, je suis heureux que le bouton tinyMCE soit périphérique - si une boîte de "téléchargement de fichier" est beaucoup plus facile, c'est bien.
Je suis tombé sur ce lien, mais j'ai toujours peur de lire des articles WordPress sur les sites Internet car je ne suis jamais trop sûr de leur sécurité, et je ne suis pas un expert en sécurité php par aucun effort d'imagination.
Merci d'avance,
wp_editor()
fonction, pourquoi ne pas simplement utiliser la boîte de téléchargement multimédia qui y est incluse? Je n'ai pas utilisé lewp_editor
front-end, mais il y a des gens qui ont réussi à le faire fonctionner avec les téléchargements d'images, voir ici , par exemple ...wp_editor
téléchargements de médias de donnerait aux utilisateurs de tout niveau un accès à ma bibliothèque multimédia entière? Je ne voudrais pas du tout que ce soit le cas - juste pour eux de télécharger le leur.media-upload.php
source depuis un moment, mais je suis presque sûr qu'il y a un filtre sur media_upload_tabs où vous pouvez désactiver l'onglet "Médiathèque". Je vais le regarder et voir ...Réponses:
Je pense que la façon la plus simple, puisque vous utilisez déjà la
wp_editor
fonction, sera simplement d'inclure les boutons multimédias dans l'instance WP_Editor - de cette façon, vous aurez les fonctions natives, y compris le bouton "Insérer dans le message", intégré gratuitement.La façon dont vous procédez dépend évidemment du plugin avec lequel vous essayez de travailler. Cependant, cela devrait vous aider à démarrer. Incluez du code comme celui-ci dans un modèle de page pour afficher l'éditeur, et vous obtiendrez un éditeur sur votre page. Inclure cela dans un formulaire et traiter les résultats est une autre étape non détaillée ici.
La définition de l'ID de publication est probablement la partie critique, et la façon dont vous procédez dépendra de la logique de votre fonctionnalité. Je voudrais suggerer:
la source
Ce n'est peut-être pas votre solution idéale, mais ça vaut le coup. Je l'ai eu sur Google mais malheureusement j'ai oublié l'URL. La pièce jointe est similaire à celle de l'article @goldenapples.
Voici la fonction de base.
La fonction ajax
Le balisage
J'espère que cette aide
la source
wp_handle_upload
place le fichier téléchargé dans le répertoire wp-content / uploads.wp_insert_attachment
intercepte les informations sur le fichier et les enregistre en tant que pièce jointe dans la table wp_posts.wp_generate_attachment_metadata
etwp_update_attachment_metadata
fait ce qui est dit. La deuxième partie est la fonction ajax qui traite le formulaire affiché sur le balisage, en utilisant laattach uploads
fonction.