Comment envoyer des messages WordPress depuis le Front End
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 cet article, nous allons vous présenter quelques méthodes que vous 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 vous pouvez tailler toutes les fonctionnalités inutiles. Le plus grand inconvénient est que vous é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 vous n’êtes pas familier avec le Code, ou si vous voulez une fonctionnalité anti – spam plus puissante, alors vous 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 – vous (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 n’arrivera pas, mais je vous conseille de ne pas vous y attendre. Je pense qu’en permettant à tous les utilisateurs de créer des messages à partir de l’avant, vous recevrez plus de spam de la part des robots que ce qui vous intéresse.
C’est – à – dire, je pense que vous pourriez vraiment avoir besoin de cette fonctionnalité pour plusieurs raisons: votre site a des contributeurs que vous ne voulez pas fournir de compte Administrateur, mais vous croyez qu’ils sont bien écrits (contenu non spam). Oui Non
La probabilité que je me trompe et que j’envoie du spam sera minime. Vous placerez cette fonctionnalité sur votre intranet ou sur d’autres sites ou pages privés ou sécurisés, de sorte que vous aurez du mal à trouver des occasions pour les spammeurs de la trouver. Si je vous excluais du processus, vous 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 à l’aide 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 cet article, 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 vous 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 l’utilisateur « soumet » le formulaire, il saisit l’entrée et vérifie qu’elle est raisonnable. Après avoir entré \
Comme nous l’avons mentionné plus haut, le formulaire HTML est basé sur l’autorisation d’envoyer des messages de l’utilisateur, ce qui est la première étape pour permettre l’envoi du contenu de l’utilisateur à 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. C’est le code complet.
Ajouter un code _ Short (‘wpshout frontend post’, ‘wpshout frontend post’); Fonction wpshout _ frontend Post () {? >
<?php } Non c'è 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 "Non categorizzato", wp_dropdown_categories() crei l'elenco 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 è un'importante 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 "Principi di sicurezza di WordPress"). Dove dovrebbe il modulo inviare i suoi dati in WordPress? Come scritto, il nostro modulo shortcode sopra "invierà" 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 l'invio a un endpoint "Admin-Ajax" 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 "post salvataggio". Quindi come sarebbe la modifica sopra al frammento di codice sopra:
Ajouter un code _ Short (‘wpshout frontend post’, ‘wpshout frontend post’); Fonctions wpshout _ frontend Post () {wpshout Save post if submitted ();? > Si nous commençons à exécuter le Code, l’écriture du Code produira une erreur irréversible. C’est 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 [‘title]) {return;}) ne soumet pas le Formulaire Si (! WP _ verify nonce ($post [‘wpnoce’, ‘WPS frontend post’) {echo ‘n’a pas été sauvegardé parce que le formulaire semble invalide, vérifiez que nonce est défini et valide. Désolé’; retour;} \/ \/ Effectuer une vérification plus petite du formulaire pour s’assurer qu’il y a du contenu si (strlen ($_ post [‘title]) < 3) { echo 'Please enter a title. Titles must be at least three characters long.'; return; } if (strlen($_POST['content']) $_ Post [‘title’], ‘post _ content’ = > $$u post [‘content],’ post Category ‘= > $$post [‘ cat], ‘Tags input’ = > $$post [‘post Tags],’ post Status’ = > > ‘Draft’ \/ \/ publish ‘post type’ = > > ‘post’ \/ \/ publish ‘post type’ = > > ‘post’ \/ \/ you can be: publish ‘post type’ = > > ‘post’ \/ \/ you can be: publish ‘post type’ = = > > ‘post’ \/ \/ you can be: ‘page’ type ‘= > >’ page ‘\/ \/ you can be:’ page ‘page’ type ‘\/ \/ you can be:’ page ‘page’ » ‘\/ you can be:’ page ‘page’ page ‘ou votre CPT); Wp \ u insert \ u post ($post); Echo \
N erreur d’envoi, impossible de continuer. C’est ce que fait la Déclaration de retour. Par souci de simplicité, j’ai choisi d’Echo (ou d’afficher à l’utilisateur) 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. Si vous soumettez un formulaire, vous le ferez facilement, mais si vous êtes un mauvais attaquant, vous ne le ferez pas. Par conséquent, nous nous assurons qu’au 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. C’est un contenu assez court, mais c’est au moins ce que nous pouvons faire pour réduire une variété d’é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 l’é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. Si vous souhaitez publier immédiatement ces messages envoyés par les utilisateurs de première ligne, vous changerez l’état en publication. Si vous souhaitez que ce module permette aux visiteurs de créer des pages WordPress, vous changez post _ type en page. (vous pouvez également utiliser le type de poste personnalisé ou CPT que vous avez créé.)
Vous recherchez un plug – in wordpress pour envoyer des messages frontaux complets? Comme nous l’avons mentionné ci – dessus, l’utilisation de tout le code ci – dessus pour permettre la publication frontale pose de gros problèmes. Le spam est l’un des plus grands: notre seule protection est que si vous convertissez de nouveaux messages en brouillons, alors vous êtes seulement protégé
Après approbation du projet (publication). Un autre inconvénient majeur est que vous 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 d’autres mesures anti – spam. Bien qu’il y ait d’autres avantages, c’est encore très visible. Tutoriel sur l’utilisation 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à l’interface Gravity. Ninja forms Front End Publishing plug – in (39 $). Il s’agit d’une extension payante du plug – in de formulaire ninja gratuit. Si vous aimez déjà la forme ninja, cela a des avantages similaires à l’option de forme gravitationnelle: Interface familière, contrôles pratiques. Il existe de nombreuses autres façons de permettre aux utilisateurs de poster à partir de l’avant. Au moins quelques plug – ins gratuits que j’ai choisi de ne pas connecter, et peut – être une douzaine d’autres plug – ins payants. Si vous 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 vous 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. J’espère que vous le trouverez.