Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    wp_insert_post errore Wordpress

    Ciao a tutti,
    ho creato una pagina nella quale gli utenti possono creare articoli senza passare dalla bacheca di WordPress. Ho quindi creato un form html dove vengono inseriti Titolo, Contenuto, eccetera... Alla pressione del bottone richiamo una pagina php, posizionata in wp-includes/app.php . Il problema E' che si blocca all'istruzione wp_insert_post.
    Inserisco i codici.
    Codice PHP:
    <?php
    echo "Carico dati inseriti. Attendere... "
    $my_post = array(  
    'post_title'    => $_POST['nome'],  
    'post_content'  => $_POST['mess'],  
    'post_status'   => 'publish',  
    'post_author'   => 1,  
    'post_category' => array(8,39));
    echo 
    " Dati caricati. Creo post...";
    wp_insert_post$my_post );
    echo 
    " Fatto!";
    ?>
    Infatti nella pagina esce scritto: "Carico dati inseriti. Attendere... Dati caricati. Creo post...", e non "Fatto!", per cui è evidente che non ha creato l'articolo. Help? Ricordo che se lo stesso codice lo metto tramite Wordpress in una pagina e lo eseguo col plugin PHP Snippets viene eseguito correttamente, solo che in quest'ultimo metodo non posso prelevare dati dal form HTML, quindi l'articolo non ha titolo nè contenuto. Grazie mille a tutti!!
    RichiFra03

  2. #2
    suppongo che wp_insert_post sia una funzione di worpress.
    hai incluso il file dove si trova la funzione?

  3. #3
    Dunque, cosa intendi con 'aver incluso il file'?
    Quella funzione e di wordpress ed è all'interno di un file nella cartella wp-includes. Come faccio a dirgli dove si trova la funzione? Ho provato a mettere app.php in wp-includes ma niente da fare. Grazie ancora!
    RichiFra03

  4. #4
    Ehiiii?
    RichiFra03

  5. #5
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    wp_insert_post() e' un a funzione di wp. La puoi usare dove vuoi all'interno del tuo tema in uso.
    Sconsiglio di mettere file custom in wp_admin o wp_include perche' fanno parte del core di WP stesso. Al primo aggionamento di versione potresti perdere tutto. Per capire perchè va in errore potresti attivare il debug in wp-config.php, c'è un define che si chiama
    WP_DEBUG solitamente settata a FALSE, modifica i valore a TRUE e forse vedrai degli errori a video nel caso ce ne fossero. I motivi possono essere diversi, utente non loggato, dati mancanti obbligatori.
    La tua pagina custom dovresti crearla all'interno del tema in uso e quindi richiamare la tua funzione. Non dovrebbero esserci problemi se tutto corretto.
    La funzione stessa se va a buon fine ritorna l'ID del post creato a DB o l'errore di wordrepss . QUI se leggi la documentazione ti spiega (RETURN) come mostrare l'errore del caso

  6. #6
    Quote Originariamente inviata da RichiFra03 Visualizza il messaggio
    Dunque, cosa intendi con 'aver incluso il file'?
    Quella funzione e di wordpress ed è all'interno di un file nella cartella wp-includes. Come faccio a dirgli dove si trova la funzione? Ho provato a mettere app.php in wp-includes ma niente da fare. Grazie ancora!
    Se vuoi usare una funzione di wordpress all'interno di un singolo script (quindi non in un plugin o tema) allora devi includere wp-load.php (contenuto nella directory base di wordpress).

  7. #7
    Dopo l'apertura del tag <?php ho messo: include 'wp-load.php';
    ma niente da fare... Aiuto? Grazie!
    RichiFra03

  8. #8
    Grazie mille m4rko80!! Ho visto solo ora il tuo post, ora provo e ti dico. Grazie mille!
    RichiFra03

  9. #9
    Dunque, purtroppo continua a darmi errore. Ho provato ad impostare su 'true' wp_debug ma in cambia nulla. Ho anche spostato come da tuo consiglio app.php(la mia pagina) nella directory principale del tem, ma niente ancora. Ho dato inoltre una rivisitata al codice ma nulla di che. Lo posto nuovamente.
    Codice PHP:
    <?php
    $nome 
    =  $_POST['nome'];
    $desc =  $_POST['mess'];
    echo (
    "Nome: " $nome ". <br />" );
    echo (
    "Descizione: " $desc ". <br />");
    $my_post = array(  
    'post_title'    => $nome,  
    'post_content'  => $desc,  
    'post_status'   => 'publish',  
    'post_author'   => 1,  '
    post_category' 
    => array(8,39));  
    echo (
    "Creo... ");
    wp_insert_post$my_post );
    echo 
    "Fattooooo!!!!";?>
    RichiFra03

  10. #10
    ma l'errore è? che non arriva a scrivere "Fattoo"? rivista il codice pure così:

    Codice PHP:

    $post_id 
    wp_insert_post($my_post);
    if(
    $post_id <= 0)
    {
        echo 
    "non inserito";
    }else{
       echo 
    "Fattooooooo!!!!";

    gli altri echo sono a posto? nel codice che hai postato, alla riga "post_author" c'è un apice messo male (quello che apre post_category) ma immagino sia un refuso del copia incolla qui. ma 1 come id dell'autore è un id valido? visto che gli unici campi obbligatori sono "post_title" e post_content, togli gli altri intanto. Ricontrolla il discorso del debug che mi pare strano che non ti dia errori.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.