Envío de post front-end


8

Estoy tratando de agregar un formulario donde los usuarios pueden enviar publicaciones desde el front-end.

Estoy siguiendo este tutorial: http: // wpshout.com/wordpress-submit-posts-from-frontend/

Lo que estoy haciendo es agregar este código a una de mis plantillas de página. El formulario se muestra bien, pero cuando hago clic en el botón Enviar, aparece " Error de página no encontrada "

Muchos de los comentaristas dicen que no está funcionando. ¿Alguien puede señalarme en la dirección correcta? ¿El código está incompleto? ¿Tiene fallas? ¿Estoy haciendo algo mal?

Gracias

Towfiq I.


¿Puedes explicar tu caso de uso? Hay muchas opciones, pero algunas no son sugerencias para todos los casos de uso.
MikeSchinkel

1
arregle el título de su pregunta de Fron-End a Frontend o Front-End.
Philip

Echa un vistazo a este tutorial genial y fácil de seguir sobre cómo publicar desde el front-end (¡incluyendo galerías de fotos y campos personalizados!). vudu.me/postreview
trusktr

Puede usar los fragmentos de código de este tutorial para crear un complemento de publicación de front-end simple de WP: http://www.cozmoslabs.com/5528-wordpress-post-from-front-end/
Adrian Spiac

Respuestas:


14
<?php $postTitle = $_POST['post_title'];
$post = $_POST['post'];
$submit = $_POST['submit'];

if(isset($submit)){

    global $user_ID;

    $new_post = array(
        'post_title' => $postTitle,
        'post_content' => $post,
        'post_status' => 'publish',
        'post_date' => date('Y-m-d H:i:s'),
        'post_author' => $user_ID,
        'post_type' => 'post',
        'post_category' => array(0)
    );

    wp_insert_post($new_post);

}

?>
<!DOCTYPE HTML SYSTEM>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled Document</title>
</head>

<body>
<div id="wrap">
<form action="" method="post">
<table border="1" width="200">
  <tr>
    <td><label for="post_title">Post Title</label></td>
    <td><input name="post_title" type="text" /></td>
  </tr>
  <tr>
    <td><label for="post">Post</label></td>
    <td><input name="post" type="text" /></td>
  </tr>
</table>

<input name="submit" type="submit" value="submit" />
</form>
</div>

</body>
</html>

Encontré esto en Themeforest , está funcionando bien,
puedes hacer muchas cosas con esto, tienes que agregar un código adicional para verificar si un usuario ha iniciado sesión o lo que quieras hacer,

Por otro lado, debe buscar en el repositorio de complementos de WordPress para encontrar algunos complementos excelentes, busque
"frontend"

Espero eso ayude


@Philip: Intenté esto pero recibí el siguiente error: Error de análisis: error de análisis, inesperado ';', esperando ')' en /home/www/web21/html/tornfraua/wp-admin/custom-post-new.php en línea 10
RoflcoptrException

1
@Roflcoptr, elimine el cierre '?>' De la línea 10 y estará bien.
Philip

¿Hay alguna forma de integrar la lista desplegable de categorías?
Towfiq

@Towfiq - Sí, pero no puedo escribir en los comentarios el código, ¡tienes que hacer una nueva pregunta!
Philip

@Philip, ¿puedes usar pastebin.com
Towfiq,

0

Jaja, ese es mi tutorial que falló mucho. Perdón por eso, fue algo que escribí porque nunca tuve el problema 404 que todos los demás tuvieron con él.

Los formularios de publicación frontend que uso la mayoría de las veces se abren en una ventana modal, por ejemplo, los formularios de publicación que hice para http://wphonors.com se cargan en la ventana emergente de Thinbox, que creo es la razón por la que nunca tuve un problema con esta. Pude hacer lo que quería con mis formularios, enviar ajax, redirigir a las publicaciones enviadas o simplemente mostrar un mensaje e ir a una página aleatoria.

Mi error al fallar con ese tutorial, tuve buenas intenciones :)

Tal vez intente cargarlos usando thickbox, es realmente muy simple de hacer. Todavía estoy trabajando en un tutorial de seguimiento para canjear que falló, pero ha sido difícil hacerlo funcionar de la manera en que la mayoría de las personas probablemente lo implementaría en sus sitios.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.