X

Come Creare una Pagina all'Attivazione del Tema

Snippet di IsItWP

Stai cercando un modo per creare nuove pagine automaticamente all'attivazione del tema? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per creare una nuova pagina in WordPress.

Se vuoi che il tuo Tema o Plugin crei una nuova pagina (o due o tre) da solo, ecco del codice rapido per farlo. wp_insert_post restituisce l'ID della pagina appena creata. In caso di errore, restituirà 0 se $wp_error è impostato su false, o un oggetto WP_Error se $wp_error è impostato su true.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file index.php del tuo tema sopra l'hook.

E naturalmente, questo codice potrebbe essere utilizzato per creare un POST o qualsiasi altro contenuto di Custom Post Type semplicemente cambiando il valore per post_type.

<?php
$new_page = array(
	'slug' => 'this-is-my-new-page',
	'title' => 'Write a Headline that Captivates',
	'content' => "Enter the body Content for your Page here"
);
$new_page_id = wp_insert_post( array(
	'post_title' => $new_page['title'],
	'post_type' 	=> 'page',
	'post_name'	 => $new_page['slug'],
	'comment_status' => 'closed',
	'ping_status' => 'closed',
	'post_content' => $new_page['content'],
	'post_status' => 'publish',
	'post_author' => 1,
	'menu_order' => 0
));
?>

Oppure, potresti usare questo codice invece. Questo snippet controlla se una pagina con il titolo alla riga 3 esiste già, e crea la pagina se non esiste ancora. Imposta anche un template di pagina se viene fornito un template di pagina alla riga 5.

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

if (isset($_GET['activated']) && is_admin()){
 
    $new_page_title = 'This is the page title';
    $new_page_content = 'This is the page content';
    $new_page_template = ''; //ex. template-custom.php. Leave blank if you don't want a custom page template.
 
    //don't change the code bellow, unless you know what you're doing
 
    $page_check = get_page_by_title($new_page_title);
    $new_page = array(
        'post_type' => 'page',
        'post_title' => $new_page_title,
        'post_content' => $new_page_content,
        'post_status' => 'publish',
        'post_author' => 1,
    );
    if(!isset($page_check->ID)){
        $new_page_id = wp_insert_post($new_page);
        if(!empty($new_page_template)){
            update_post_meta($new_page_id, '_wp_page_template', $new_page_template);
        }
    }
 
}

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 27 migliori temi WordPress per blog di viaggi e come proteggere i tuoi moduli WordPress.

Commenti   Lascia una risposta

  1. Suman Samanta 3 marzo 2019 alle 5:37

    Se dovessi dare un esempio eccellente di contenuto di alta qualità, questo articolo ne sarebbe uno. È materiale ben scritto che mantiene vivo il tuo interesse.

  2. Grazie. Mi serve esattamente questo. Fammi sapere con quale hook questo codice dovrebbe essere agganciato?

  3. Grazie amico! Hai una soluzione per inserire tassonomie automatiche?

  4. Ciao, nel mio plugin la pagina viene generata automaticamente e anche lo shortcode viene generato automaticamente. Voglio che nella pagina di dettaglio non sia necessario visualizzare header, footer e sidebar.. qualche idea per favore?

  5. Ciao Kevin. Come creare più pagine con questo metodo? Grazie..

  6. Non suppongo ci sia un modo per indirizzare gli utenti alla pagina dopo l'attivazione, indipendentemente dal permalink che hanno impostato, vero?

    Volevo usare questo per creare una pagina FAQ del tema e indirizzare l'utente ad essa dopo l'attivazione.

    1. Non penso che sia il modo migliore per fare le cose, quello che potresti fare è creare una pagina di amministrazione, molto simile a come fanno le persone quando creano un plugin, e aggiungere lì le tue FAQ o altri dettagli. Questo tutorial su net.tuts ha dettagli sulla creazione del pannello di amministrazione per un plugin, ma l'idea è la stessa.

      http://net.tutsplus.com/tutorials/wordpress/creating-a-custom-wordpress-plugin-from-scratch/

      1. Sì, probabilmente hai ragione. Sto usando un tema figlio per Twenty Eleven e non ho ancora capito come agganciarmi alle opzioni del tema corrente. Probabilmente creerò solo una pagina HTML con le informazioni di cui ho bisogno e la collegherò, ma controllerò quel link, grazie

        1. Ciao Zeaks,

          Il tutorial che ho pubblicato dovrebbe funzionare bene! Non dovrebbe importare il tema
          che stai usando, il codice nel tutorial ti chiederà solo di aggiungere codice al
          tuo functions.php per creare il pannello di amministrazione, poi è solo html per
          stilizzare e visualizzare le tue faq o altre informazioni.

    2. Non penso che sia il modo migliore per fare le cose, quello che potresti fare è creare una pagina di amministrazione, molto simile a come fanno le persone quando creano un plugin, e aggiungere lì le tue FAQ o altri dettagli. Questo tutorial su net.tuts ha dettagli sulla creazione del pannello di amministrazione per un plugin, ma l'idea è la stessa.

      http://net.tutsplus.com/tutorials/wordpress/creating-a-custom-wordpress-plugin-from-scratch/

  7. Bello! Grandi grazie!
    Ho appena usato il tuo codice per aggiungere anche le voci di menu.
    (‘post_type’ => ‘nav-menu-item’)

    1. Ciao Tyson, fantastico, sono contento di aver potuto aiutare. Non dimenticare di seguirmi su Twitter, Facebook o RSS, pubblico regolarmente nuovi snippet.

  8. Scusa se è una domanda stupida, ma perché vorresti farlo?
    Ho un'installazione WP di prova dove creo manualmente un nuovo post (o a volte una pagina) ogni volta che attivo un nuovo plugin – per testare cosa può fare. Vedo il vantaggio di un generatore di pagine/post per quell'azione, ma non sono sicuro del perché una nuova pagina per l'attivazione di un tema. Per favore, aiutami a capire. Grazie!

    1. Non esistono domande stupide su wpsnipp, questa è una buona domanda. Diciamo che ho un nuovo tema che funzionerà più come un CMS con una pagina iniziale statica predefinita. Potresti usarlo nel tuo tema per creare le pagine necessarie per la persona invece di chiedere loro di farlo manualmente. In questo modo potrei creare qualsiasi numero di pagine necessarie per un tema che stavo creando, poi tutto ciò che la persona dovrebbe fare è collegare le pagine ai modelli richiesti. Ma questo è solo un esempio, potrebbero esserci ragioni a cui non riusciamo nemmeno a pensare.

      1. Vignesh Diwakar 20 febbraio 2014 alle 02:15

        Come aggiungo questa nuova pagina creata dal tuo codice nel menu principale. (‘post_type’ => ‘nav-menu-item’) non funziona per me

    2. Questo è un po' vecchio, ma per me sto creando un tema e impostando una pagina personalizzata che creerà una mappa del sito, e voglio collegarla nel footer.

      Questo è un ottimo pezzo di codice, mi fa sapere con certezza che questa pagina della mappa del sito ci sarà per tutto il sito.

  9. Tweet che menzionano Wordpress Crea pagina all'attivazione del tema – wpsnipp.com Snippet di codice Wordpress per il tuo blog -- Topsy.com 24 novembre 2010 alle 16:32

    [...] Questo post è stato menzionato su Twitter da wp_freak, WPSNIPP. WPSNIPP ha detto: #wordpress Crea pagina all'attivazione del tema http://bit.ly/gTZHVl #blog per favore RT :)

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!