Vous voudrez peut être ajouter de nouveaux messages sans accéder au tableau de bord WordPress ou permettre aux visiteurs de soumettre du contenu. Tu peux le faire. Il est facile de comprendre comment envoyer des messages de première ligne. Dans nous allons présenter quelques méthodes que pouvez utiliser pour créer un nouveau module Post et enregistrer ses résultats dans un post WordPress réel. Accepter les messages envoyés par les utilisateurs de la partie publique du site WordPress n’est pas la bonne solution pour la plupart des problèmes, mais il est utile dans certains cas spécifiques. Le plus grand avantage de l’exécution manuelle des plug ins WordPress Front End commit et publish est que pouvez tailler toutes les fonctionnalités inutiles. Le plus grand inconvénient est que écrirez du Code. Quelques unes des solutions plug in déjà écrites se trouvent dans la rubrique « À la recherche d’un plug in complet post Send pour WordPress? » La section suivante. Ceux ci ont un grand avantage, si nrsquoêtes pas familier avec le Code, ou si voulez une fonctionnalité anti spam plus puissante, alors pouvez facilement y faire face.
Mais, inutile de le dire, voyons comment accepter les messages envoyés par les utilisateurs du site WordPress! Pourquoi voudriez (ne pas) permettre aux utilisateurs de poster dans WordPress je suis sûr que ceux qui lisent cet article veulent obtenir beaucoup de contenu gratuit de haute qualité sur leur site WordPress en permettant aux visiteurs aléatoires de soumettre leur propre contenu. Je ne dirai pas que ça nrsquoarrivera pas, mais je conseille de ne pas y attendre. Je pense qursquoen permettant à tous les utilisateurs de créer des messages à partir de lrsquoavant, recevrez plus de spam de la part des robots que ce qui intéresse.
Crsquoest à dire, je pense que pourriez vraiment avoir besoin de cette fonctionnalité pour plusieurs raisons: votre site a des contributeurs que ne voulez pas fournir de compte Administrateur, mais croyez qursquoils sont bien écrits (contenu non spam). Oui Non
La probabilité que je me trompe et que jrsquoenvoie du spam sera minime. Vous placerez cette fonctionnalité sur votre intranet ou sur drsquoautres sites ou pages privés ou sécurisés, de sorte que aurez du mal à trouver des occasions pour les spammeurs de la trouver. je excluais du processus, recevriez occasionnellement des courriels de lecteurs dévoués qui enverraient de bons messages. 3 étapes de base pour créer un formulaire pour les messages soumis par les utilisateurs dans WordPress fondamentalement, pour permettre aux utilisateurs de soumettre du contenu dans WordPress, il faut d’abord permettre aux utilisateurs Envoyez le contenu! Les versions frontales sont généralement effectuées à lrsquoaide de plug ins de modules tels que Ninja forms ou Gravity forms. Ces extensions fourniront les mêmes fonctionnalités que celles que nous avons créées ici à partir de zéro. Mais pour la plupart de nous allons maintenir le niveau de dénominateur commun le plus bas: Nous allons travailler sur le module nous mêmes et le créer avec le Code court WordPress de base.
Voici les étapes de base pour permettre de créer des messages à partir de l’avant du site WordPress: créer un formulaire par lequel les utilisateurs peuvent soumettre des titres de messages, du contenu, etc. Lorsque lrsquoutilisateur « soumet » le formulaire, il saisit lrsquoentrée et vérifie qursquoelle est raisonnable. Après avoir entré
Comme nous lrsquoavons mentionné plus haut, le formulaire HTML est basé sur lrsquoautorisation drsquoenvoyer des messages de lrsquoutilisateur, ce qui est la première étape pour permettre lrsquoenvoi du contenu de lrsquoutilisateur à partir de la section anteri
L’heure du site WordPress commence en HTML. Pour afficher le HTML, nous utiliserons un code court dans WordPress. Le Code Court est inclus entre crochets et peut généralement être une seule balise insérée dans une autre fonction PHP. C’est ce que nous allons faire ici, donc quand quelqu’un utilise [wpshout _ frontend post], nos modules apparaîtront sur des messages, des pages ou d’autres types de contenu WordPress. Crsquoest le code complet.
Ajouter un code _ Short (lsquowpshout frontend postrsquo, lsquowpshout frontend postrsquo) Fonction wpshout _ frontend Post () {? gt
Titre
Contenu de la publication
Étiquettes
lt?php } Non c039è niente di speciale con questo modulo davvero. Le cose più interessanti sono le chiamate alle wp_dropdown_categories() e wp_nonce_field() . Perché vogliamo che gli utenti impostino una categoria (e impediscano che il temuto quotNon categorizzatoquot, wp_dropdown_categories() crei l039elenco di categorie tra cui è possibile selezionare. Puoi saperne di più sulla funzione wp_dropdown_categories sul codice di WordPress.
Tutto il resto che inserisci nel modulo creerà automaticamente una nuova voce, compresi i tag. Assicurati che qualunque cosa tu faccia, includi sempre wp_nonce_field() . La verifica dei nonces è un039importante strategia di sicurezza di WordPress per prevenire quello che viene chiamato un attacco di falsificazione delle richieste tra siti (o CSRF). (Puoi saperne di più nel nostro post quotPrincipi di sicurezza di WordPressquot). Dove dovrebbe il modulo inviare i suoi dati in WordPress? Come scritto, il nostro modulo shortcode sopra quotinvieràquot i suoi dati alla stessa pagina su cui è stato eseguito. Può funzionare ed è il modo più semplice per creare un modulo per uno shortcode in WordPress. Funzionerebbe anche l039invio a un endpoint quotAdmin-Ajaxquot o API REST. Ma per mantenere questo il più semplice possibile, in realtà avremo solo il nostro codice sopra che include una chiamata della nostra funzione quotpost salvataggioquot. Quindi come sarebbe la modifica sopra al frammento di codice sopra:
Ajouter un code _ Short (lsquowpshout frontend postrsquo, lsquowpshout frontend postrsquo) Fonctions wpshout _ frontend Post () {wpshout Save post if submitted ()? gt nous commençons à exécuter le Code, lrsquoécriture du Code produira une erreur irréversible. Crsquoest parce que nous devons créer la fonction wpshout _ Save post if submitted. Obtenez l’entrée du module de soumission de l’utilisateur frontal Post et créez une fonction pour enregistrer notre Contenu utilisateur frontal dans WordPress, comme ceci: la fonction wpshout _ Save post if submitted () { arrête d’exécuter la fonction si (! Isset ($post [lsquotitle]) {return}) ne soumet pas le Formulaire (! WP _ verify nonce ($post [lsquowpnocersquo, lsquoWPS frontend postrsquo) {echo lsquonrsquoa pas été sauvegardé parce que le formulaire semble invalide, vérifiez que nonce est défini et valide. Désolérsquo retour} Effectuer une vérification plus petite du formulaire pour srsquoassurer qursquoil y a du contenu si (strlen ($_ post [lsquotitle]) lt 3) { echo 039Please enter a title. Titles must be at least three characters long.039 return } if (strlen($_POST[039content039]) $_ Post [lsquotitlersquo], lsquopost _ contentrsquo = gt $$u post [lsquocontent],rsquo post Category lsquo= gt $$post [lsquo cat], lsquoTags inputrsquo = gt $$post [lsquopost Tags],rsquo post Statusrsquo = gt gt lsquoDraftrsquo publish lsquopost typersquo = gt gt lsquopostrsquo publish lsquopost typersquo = gt gt lsquopostrsquo you can be: publish lsquopost typersquo = gt gt lsquopostrsquo you can be: publish lsquopost typersquo = = gt gt lsquopostrsquo you can be: lsquopagersquo type lsquo= gt gtrsquo page lsquo you can be:rsquo page lsquopagersquo type lsquo you can be:rsquo page lsquopagersquo » lsquo you can be:rsquo page lsquopagersquo page lsquoou votre CPT) Wp u insert u post ($post) Echo
N erreur drsquoenvoi, impossible de continuer. Crsquoest ce que fait la Déclaration de retour. Par souci de simplicité, jrsquoai choisi drsquoEcho (ou drsquoafficher à lrsquoutilisateur) toute erreur et de revenir en arrière. La fonctionnalité principale ici signifie que les utilisateurs verront toujours le module
Pour surmonter la clause de sauvegarde, nous devons soumettre un formulaire et établir une clause provisoire. soumettez un formulaire, le ferez facilement, mais si êtes un mauvais attaquant, ne le ferez pas. Par conséquent, nous nous assurons qursquoau moins une partie du message est configurée: le titre a au moins trois caractères de long et le contenu du message (ou « corps du message ») a au moins 100 caractères de long. Crsquoest un contenu assez court, mais crsquoest au moins ce que nous pouvons faire pour réduire une variété drsquoébauches indésirables de messages que nous obtiendrons de robots spammeurs. Par conséquent, si nous réussissons ces vérifications, nous utiliserons la fonction WP _ insert Post () pour créer réellement un message en passant dans un tableau associatif du contenu du message. Le titre post devient alors lrsquoélément post _ title du tableau $post. Attendez un peu! Très intéressant, nos deux dernières lignes sont post _ Status et post type. souhaitez publier immédiatement ces messages envoyés par les utilisateurs de première ligne, changerez lrsquoétat en publication. souhaitez que ce module permette aux visiteurs de créer des pages WordPress, changez post _ type en page. ( pouvez également utiliser le type de poste personnalisé ou CPT que avez créé.)
Vous recherchez un plug in wordpress pour envoyer des messages frontaux complets? Comme nous lrsquoavons mentionné ci dessus, lrsquoutilisation de tout le code ci dessus pour permettre la publication frontale pose de gros problèmes. Le spam est lrsquoun des plus grands: notre seule protection est que si convertissez de nouveaux messages en brouillons, alors êtes seulement protégé
Après approbation du projet (publication). Un autre inconvénient majeur est que devez également écrire du Code là où il y a une bonne alternative. La plupart des plug ins de modules, des formulaires gravitationnels, des formulaires ninja, etc. Cette fonctionnalité est à portée de main et il existe de nombreux plug ins pour le faire.
Voici quelques façons différentes d’atteindre vos objectifs qui permettent aux utilisateurs d’envoyer des messages sur le site WordPress et comment ils sont supérieurs à notre code: le plugin wordpress user send Post (gratuit): c’est comme un code raccourci, comme le code ci dessus. Il a un grand avantage par rapport à notre version: USP intègre Google recaptcha et drsquoautres mesures anti spam. Bien qursquoil y ait drsquoautres avantages, crsquoest encore très visible. Tutoriel sur lrsquoutilisation de la gravité pour créer des colonnes. Bien que le formulaire Gravity coûte cher (à partir de 59 $lorsque j’ai écrit cet article), c’est un plugin populaire que la plupart des développeurs WordPress ont déjà une copie. De plus, cette version de personnalisation est relativement pratique pour les utilisateurs qui utilisent déjà lrsquointerface Gravity. Ninja forms Front End Publishing plug in (39 $). Il srsquoagit drsquoune extension payante du plug in de formulaire ninja gratuit. déjà la forme ninja, cela a des avantages similaires à lrsquooption de forme gravitationnelle: Interface familière, contrôles pratiques. Il existe de nombreuses autres façons de permettre aux utilisateurs de poster à partir de lrsquoavant. Au moins quelques plug ins gratuits que jrsquoai choisi de ne pas connecter, et peut être une douzaine drsquoautres plug ins payants. avez un autre plug in de module préféré, je vais d’abord voir s’ils ont cette fonctionnalité intégrée de soumission de contenu WordPress de première ligne. Maintenant que savez comment enregistrer les messages envoyés par WordPress, nous avons d’abord examiné le Code nécessaire pour exécuter la soumission de formulaire de base et les messages envoyés par les utilisateurs frontaux dans WordPress. Jrsquoespère que le trouverez.