Invio post front-end


8

Sto cercando di aggiungere un modulo in cui gli utenti possono inviare post dal front-end.

Sto seguendo questo tutorial: http: // wpshout.com/wordpress-submit-posts-from-frontend/

Quello che sto facendo è aggiungere questo codice a uno dei miei template di pagina. Il modulo si presenta bene ma quando faccio clic sul pulsante Invia mi dà " Errore di pagina non trovata "

Molti dei commentatori affermano che non funziona. Qualcuno può indicarmi la giusta direzione? Il codice è incompleto? Presenta difetti? Sto facendo qualcosa di sbagliato?

Grazie

Towfiq I.


Puoi spiegare il tuo caso d'uso? Esistono molte opzioni, ma alcune non sono consigliate per tutti i casi d'uso.
MikeSchinkel,

1
correggi il titolo della tua domanda da Fron-End a Frontend o Front-End.
Filippo,

Dai un'occhiata a questo tutorial molto interessante e facile da seguire su come pubblicare dal front-end (tra cui gallerie fotografiche e campi personalizzati !!). vudu.me/postreview
trusktr,

È possibile utilizzare i frammenti di codice di questa esercitazione per creare un semplice plug-in WP Front End Posting: http://www.cozmoslabs.com/5528-wordpress-post-from-front-end/
Adrian Spiac

Risposte:


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>

Ho trovato questo su Themeforest che funziona bene,
puoi fare molte cose con questo, devi aggiungere un codice extra per verificare se un utente è connesso o qualunque cosa tu voglia fare,

D'altra parte devi cercare nel repository dei plug-in di WordPress per scoprire alcuni ottimi plug-in,
Cerca "frontend"

spero che sia d'aiuto


@Philip: ho provato questo ma ottengo il seguente errore: Errore di analisi: errore di analisi, imprevisto ';', in attesa ')' in /home/www/web21/html/tornfraua/wp-admin/custom-post-new.php on line 10
RoflcoptrException

1
@Roflcoptr, rimuovi la chiusura '?>' Dalla linea 10 e andrà bene!
Filippo,

Esiste un modo per integrare l'elenco a discesa delle categorie?
Towfiq,

@Towfiq - Sì, ma non posso scrivere ai commenti il ​​codice, devi fare una nuova domanda!
Filippo

@Philip puoi usare pastebin.com
Towfiq,

0

Haha, questo è il mio tutorial che ha fallito gravemente. Mi dispiace, è stato qualcosa che ho scritto perché non ho mai avuto il problema 404 che tutti gli altri avevano con esso.

I moduli di post front-end che utilizzo più volte si aprono in una finestra modale, ad esempio i moduli di post che ho creato per http://wphonors.com vengono caricati nella finestra popup thickbox, che credo sia il motivo per cui non ho mai avuto problemi con Questo. Sono stato in grado di fare tutto ciò che volevo con i miei moduli, inviare ajax, inviare reindirizzamento ai post inviati o semplicemente mostrare un messaggio e andare a una pagina casuale.

Il mio male per non riuscire con quel tutorial, ho avuto buone intenzioni :)

Forse prova a caricarli usando thickbox, è davvero molto semplice da fare. Sto ancora lavorando a un tutorial di follow-up per riscattare ciò che è fallito, ma è stato difficile farlo funzionare nel modo in cui la maggior parte delle persone potrebbe implementarlo nei loro siti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.