Es posible que desee agregar nuevas publicaciones sin tener que iniciar sesión en el tablero de WordPress o puede permitir a sus visitantes. Una forma de enviar su propio contenido. Puedes hacerlo. Descubrir cómo enviar una publicación en el frente es simple. En este artículo, cubriremos algunas formas en que puede crear un nuevo formulario de publicación y guardar los resultados en una publicación real de WordPress en vivo. Aceptar las publicaciones enviadas por los usuarios del sitio público WordPress no es la solución correcta para la mayoría de los problemas, pero es útil en algunas situaciones específicas.
La gran ventaja de la ejecución manual de un complemento frontal y de publicación de publicación es que puede reducir todas las funciones innecesarias. La gran desventaja es que escribirá código. Algunas soluciones de complementos ya escritas se resaltan en “¿Buscando un complemento frontal completo para publicaciones de WordPress?” la sección a continuación. Tienen la gran ventaja de que si no se siente cómodo con el código o desea funciones anti-spam más robustas, estará preparado sin mucha complejidad. Pero sin otras palabras, ¡entendamos cómo aceptar las publicaciones enviadas por los usuarios en su sitio web de WordPress!
¿Por qué podría (no) querer permitir que las publicaciones enviadas por los usuarios en WordPress? Estoy seguro de que alguien que lee esta esperanza puede obtener mucho contenido gratuito de alta calidad, lo que permite a los visitantes aleatorios que envían sus contenidos. No diría que no sucederá, pero te aconsejaría que no confíes en ello. Creo que recibirá muchas más referencias de spam de los robots que que recibe contenido, lo que permite a todos los usuarios crear una publicación front-end. Dicho esto, hay algunas razones por las que creo que realmente quiere esta funcionalidad: tiene algunos colaboradores en su sitio, no desea darles cuentas de administrador, pero en las que confía, escribirán bien (no contenido -correo no deseado).
Desea permitir la casualidad de la posibilidad de que esté equivocado y que enviar spam sea mínimo.
Pondrá esta función en una intranet o en otro sitio o página privada o protegida, por lo que no puede suprimir fácilmente a los spammers para encontrarla.
Tiene correos electrónicos ocasionales de lectores dedicados, que serían excelentes publicaciones si se aleja del proceso.
3 Pasos esenciales para hacer un formulario para las publicaciones enviadas por los usuarios en WordPress práctico, para permitir el contenido enviado por el usuario a WordPress, primero debe permitir que el usuario … envíe el contenido! La publicación frontal se realiza con mayor frecuencia con un complemento de formulario como formularios ninja o formularios de gravedad. Estos tendrán extensiones que ofrecen la misma funcionalidad que construiremos desde cero aquí. Pero para (la mayoría) este artículo, mantendremos las cosas en el nivel más bajo del denominador común: procesaremos la forma solo y la crearemos con un breve WordPress básico. El sitio de WordPress:
Cree un formulario por el cual un usuario puede enviar el título de publicación, el contenido, etc.
Cuando el usuario “envíe” el formulario, atrapa la entrada y validela como razonable.
Con la entrada “atrapada”, use las funciones de WordPress para crear publicaciones y guardarla.
De hecho, estos tres pasos son todo lo que necesita para que los lectores agregen una publicación frontal. Dejan de lado los problemas de “envío de spam” y otras posibles complejidades que son reales e importantes. Si implementa este tipo de solución para un cliente, debe considerar su felicidad a largo plazo con su solución, pero no son necesarias para una implementación técnica de “manera feliz”, por lo que los omitiremos aquí.
Los elementos básicos de un formulario HTML para permitir que las publicaciones del usuario como dije anteriormente, el primer paso para permitir que el contenido del usuario esté al frente de su sitio de WordPress comience con HTML.Para que aparezca HTML, usaremos un código corto en WordPress.Los códigos cortos están entre los soportes cuadrados y, a menudo, pueden ser etiquetas simples que introducen otra función PHP.Esto es lo que haremos aquí, por lo que nuestro formulario aparecerá en una publicación, página u otro tipo de contenido de WordPress cuando alguien use [wpshout_fronde_post].Aquí está el código completo.
add_shortcode (‘wpshout_frntend_post’, ‘wpshout_frntend_post’); Function wpshout_frontend_post () {?>
títulos
publicar contenido
<
<? Php wp_dropdown_categories ('show_option_none = category & tab_index = 4 & taxonomy = categoría = categoría '); ?
<? Php wp_nonce_field ('wps-frontend-pos'); ? No hay nada especial con esta forma realmente. Las cosas más interesantes son las llamadas de wp_dropdown_categories () y wp_nonce_field (). Debido a que queremos que los usuarios establezcan una categoría (y eviten esa temida "necategorías", wp_dropdown_categories () crea la lista de categorías de las cuales puede seleccionar. Puede obtener más información sobre la función wp_dropdown_categories en el códice de WordPress.
Todo lo que ingrese en el formulario creará automáticamente una nueva entrada, incluidas las etiquetas. Asegúrese de que sea lo que haga, siempre incluya wp_nonce_field (). La no verificación es una estrategia de seguridad de WordPress importante para evitar lo que se llama una falsificación de demanda entre sitios (o CSRF). (Puede obtener más información sobre esto en nuestra publicación "Principios de seguridad de WordPress"). ¿Dónde se deben enviar los datos al formulario en WordPress? Como está escrito, nuestro formulario de código corto anterior "enviará" sus datos en la misma página. Puede funcionar y es la forma general más simple de crear un formulario para un breve shortcode. También funcionaría enviar un punto final de la API "Admin-AJAX". Pero para mantener esto lo más simple posible, de hecho, nuestro código anterior incluirá una llamada de nuestra función de "post-rescate". Entonces, lo que mostraría es el cambio anterior en el fragmento de código anterior:
add_shortcode ('wpshout_frntend_post', 'wpshout_frntend_post'); Function wpshout_frontend_post () {wpshout_save_post_if_submited (); ? Esto se debe a que tenemos que crear la función wpshout_save_post_if_submitited. Capturar la entrada de la forma de enviar al usuario frontal para crear una función para guardar nuestro contenido de fin de usuario en WordPress se vería un poco así: función wpshout_save_post_if_submited () {// Dejar de ejecutar el formulario no se envió si (! Isset (! $ _Post ['title'])) {return; } // Verifique que el no WAS Set y Valid if (wp_verify_nonce ($ _ post ['_ wpnonce'], 'wps-frontend-pos')) {echo 'no salvó su forma parecía ser no válida. Lo siento '; devolver; } // Haga una validación de formulario menor para hacer que haya contenido si (strlen ($ _ post ['title') <3) {echo 'Por favor ingrese a. Los títulos deben tener al menos tres caracteres. '; devolver; } if (strlen ($ _ post ['content']) $ _post [‘title’], ‘post_content’ => $ _post [‘content’], ‘post_category => $ _Post [‘cat’], ‘tags_input’ => $ _post [‘post_tags’], ‘post_status’ => ‘draft’, // podría ser: publicar ‘post_type’ => post ‘// coild be: `página `o su CPT); wp_insert_post ($ post); eco ‘
¡Guardé tu publicación con éxito!:) ‘;} Este código es simple, pero debe ayudarlo a comprender.Comenzamos la función wpshout_save_post_if_submited con cuatro cláusulas diferentes de “guardia”.Una cláusula de protección evita una transmisión de error y continúa.Esto es lo que hacen las declaraciones de retorno.Elegí, por simplicidad, hacer eco (o mostrar al usuario) cualquier error y luego devolver.La funcionalidad básica aquí significa que un usuario siempre verá el formulario “Agregar una nueva publicación” y que el exitoso o la falla aparecerá ante él en WordPress.Esto puede ser ideal para usted, pero puede que no lo sea.

Para superar las cláusulas de seguridad, deberíamos haber enviado el formulario y establecer una nonce. Si ha enviado el formulario, lo hará fácilmente, pero si eres un mal atacante, no lo harás. Luego nos aseguramos de que se estableció al menos un poco sobre la publicación: el título tenía al menos tres caracteres, el contenido de la publicación (o la “publicación de publicación”) tenía al menos 100 caracteres. Este es un contenido bastante corto, pero es lo menos que podemos hacer para reducir los diferentes mensajes no deseados que de otro modo recibiríamos de los robots de spam. Luego, si pasan esas verificaciones, usamos la función wp_insert_post () para crear la publicación pasando a una matriz asociativa del contenido del contenido. Entonces, el título de la publicación se convertirá en el elemento post_title de la publicación $. Y así. Vale la pena señalar que nuestras dos últimas líneas son post_status y post_type. Si desea publicar estas publicaciones enviadas por los usuarios de front-end inmediatamente, convertirá el estado en publicar. Y desea que este formulario permita a los visitantes crear páginas de WordPress, cambiará post_type a página. (Como con un “tipo de publicación personalizada” o CPT que ya ha creado).
¿Buscas un complemento completo de WordPress para el envío posterior a la alend? Como se mencionó anteriormente, hay algunos grandes problemas con el uso de todo el código anterior para permitir la publicación frontal. El spam es uno de los más grandes: nuestra única protección es que si mantiene este código, convierte nuevas publicaciones en bocetos, estará protegido de ellos solo después de haber aprobado (“publicado”) los bocetos. La otra gran desventaja: también se ve obligado a escribir código donde hay buenas versiones alternativas. La mayoría de los complementos de formulación: formularios de gravedad, formularios ninja, etc. -S tienen esta funcionalidad a mano y también hay una serie de complementos que hacen exactamente esto. Aquí hay algunas formas diferentes de cumplir su objetivo de permitir a los usuarios en un sitio web de WordPress y cómo son mejores que nuestro código: complemento WordPress para publicaciones enviadas (gratis): funciona como un código corto, como el código que tenemos arriba. La gran ventaja que tiene para nuestra versión: USP ha incorporado Google Recaptcha y varias otras medidas anti-Spam. Aunque hay otros beneficios, es genial.
Tutorial sobre la creación de publicaciones con formularios de gravedad. Si bien los formularios de gravedad cuestan dinero (a partir de $ 59 cuando escribo esto), es un complemento popular y la mayoría de los desarrolladores de WordPress ya tendrán una copia. Además, esta versión será relativamente cómoda para personalizar para aquellos que ya usan la interfaz de gravedad.
Formularios ninja (USD 39) Post frontal. Esta es una extensión pagada de los formularios Ninja de complemento gratuito. Si ya le gustan los formularios ninja, tiene ventajas similares a la opción de formularios de gravedad: interfaz familiar, pedidos cómodos. Hay muchas otras formas de permitir que un usuario envíe una publicación desde la parte delantera. Al menos algunos otros complementos gratuitos que elegí no conectarme y probablemente al menos otras docenas de opciones pagadas. Si tiene otro complemento de formulación favorito, primero buscaría si tienen esta característica de “contenido frontal de WordPress”. Ahora sabe cómo guardar las publicaciones enviadas WordPress. He viajado el código para hacer un formulario básico y una publicación enviada por el usuario front-end en WordPress. Espero que hayas encontrado algo de ese contenido interesante y útil si estás obligado y decidido a hacerlo por tu cuenta. Como dije anteriormente, creo que los momentos son raros (y en general cuando necesita mucha contaminación o comportamiento personalizado en la salvación) en el que debe hacer esto. Para la mayoría de los casos de uso en WordPress hoy, es mejor aprovechar el trabajo de otra persona, ya sean formularios ninja, formularios de gravedad, WPForms o publicaciones gratuitas de complementos enviadas por usuarios desde el almacén de complementos de WordPress. Todo esto le ahorrará tiempo y energía para solucionar problemas y remediar los problemas con el código. Y eso es mucho. ¡Suerte! Y tus usuarios para escribir bien
homefinance blog