X

Cum să creezi o pagină la activarea temei

Fragmente de IsItWP

Căutați o modalitate de a crea automat pagini noi la activarea temei? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți folosi pentru a crea o pagină nouă în WordPress.

Dacă doriți ca tema sau pluginul dvs. să creeze o pagină nouă (sau două sau trei) de la sine, iată un cod rapid pentru a face acest lucru. wp_insert_post returnează ID-ul paginii nou create. În caz de eroare, va returna 0 dacă $wp_error este setat la false, sau un obiect WP_Error dacă $wp_error este setat la true.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul index.php al temei dvs., deasupra hook-ului.

Și, desigur, acest cod ar putea fi folosit pentru a crea un POST sau orice alt conținut de tip Custom Post Type, doar schimbând valoarea pentru 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
));
?>

Sau, ați putea folosi acest cod în schimb. Acest fragment verifică dacă o pagină cu titlul de pe linia 3 există deja și creează pagina dacă nu există încă. De asemenea, setează un șablon de pagină dacă este furnizat un șablon de pagină pe linia 5.

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

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);
        }
    }
 
}

Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare și alte articole de pe site, cum ar fi: cele mai bune 27 de teme WordPress pentru bloguri de călătorii și cum să-ți securizezi formularele WordPress.

Comentarii   Lasă un răspuns

  1. Suman Samanta March 3, 2019 at 5:37 am

    Dacă ar trebui să dau un exemplu principal de conținut de înaltă calitate, acest articol ar fi unul. Este un material bine scris care vă menține interesul.

  2. Mulțumesc. Exact asta am nevoie. Spuneți-mi la ce hook ar trebui să fie conectat acest cod?

  3. Mulțumesc, omule! Ai o soluție pentru inserarea automată a taxonomiilor?

  4. Salut, în pluginul meu pagina generată automat și shortcode-ul generat automat. vreau ca în pagina detaliată să nu se afișeze antetul, subsolul și bara laterală.. aveți vreo idee, vă rog?

  5. Salut Kevin. Cum să creezi mai multe pagini cu această metodă? Mulțumesc..

  6. Nu cred că există o modalitate de a direcționa utilizatorii către pagină după activare, indiferent de permalink-ul pe care îl au setat, nu?

    Am vrut să folosesc asta pentru a crea o pagină FAQ pentru temă și să direcționez utilizatorul către ea după activare.

    1. Nu cred că este cea mai bună modalitate de a face lucrurile. Ai putea crea o pagină de administrator, similar cu ceea ce fac oamenii când creează un plugin și să adaugi acolo FAQ-ul sau alte detalii. Acest tutorial de pe net.tuts are detalii despre crearea panoului de administrator pentru un plugin, dar ideea este aceeași.

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

      1. Da, probabil ai dreptate. Folosesc o temă copil pentru Twenty Eleven și nu am descoperit încă cum să mă integrez în opțiunile temei curente. Probabil voi crea doar o pagină html cu informațiile de care am nevoie și voi pune un link, dar voi verifica acel link, mulțumesc.

        1. Salut Zeaks,

          Tutorialul pe care l-am postat ar trebui să funcționeze bine! Nu ar trebui să conteze tema pe care o folosești, codul din tutorial îți va cere doar să adaugi cod în fișierul functions.php pentru a crea panoul de administrare, apoi este doar html pentru a stiliza și afișa întrebările frecvente sau alte informații.

    2. Nu cred că este cea mai bună modalitate de a face lucrurile. Ai putea crea o pagină de administrator, similar cu ceea ce fac oamenii când creează un plugin și să adaugi acolo FAQ-ul sau alte detalii. Acest tutorial de pe net.tuts are detalii despre crearea panoului de administrator pentru un plugin, dar ideea este aceeași.

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

  7. Super! Mulțumesc mult!
    Tocmai am folosit codul tău pentru a adăuga și elemente de meniu.
    (‘post_type’ => ‘nav-menu-item’)

    1. Salut Tyson, Super, mă bucur că am putut ajuta. Nu uita să mă urmărești pe Twitter, Facebook sau RSS, postez noi fragmente de cod în mod regulat.

  8. Cliff Paulick July 19, 2011 at 6:56 pm

    Scuze dacă e o întrebare prostească, dar de ce ai vrea să faci asta?
    Am o instalare WP de test unde creez manual o nouă postare (sau uneori o pagină) de fiecare dată când activez un nou plugin – pentru a testa ce poate face. Pot vedea beneficiul unui generator de pagini/postări pentru acea acțiune, dar nu sunt sigur de ce o pagină nouă pentru activarea unei teme. Te rog să mă ajuți să înțeleg. Mulțumesc!

    1. Nu există întrebări proaste pe wpsnipp, aceasta este o întrebare bună. Să spunem că am o temă nouă care va funcționa mai mult ca un CMS cu o pagină de start statică implicită. Ați putea folosi acest lucru în tema dvs. pentru a crea paginile necesare persoanei, în loc să îi cereți să o facă manual. În acest fel aș putea crea orice număr de pagini necesare pentru o temă pe care o cream, apoi tot ce ar trebui să facă persoana este să lege paginile de șabloanele necesare. Dar acesta este doar un exemplu, ar putea exista motive la care nici nu ne putem gândi.

      1. Cum adaug această pagină nouă creată de codul dvs. în meniul principal. ('post_type' => 'nav-menu-item') nu funcționează pentru mine

    2. Acesta este cam vechi, dar pentru mine creez o temă și configurez o pagină personalizată care va crea o hartă a site-ului și vreau să leg acea hartă a site-ului în subsol.

      Acesta este un cod grozav, mă anunță sigur că această pagină cu harta site-ului va fi acolo pe tot parcursul site-ului.

  9. Tweets that mention Wordpress Create page on theme activation – wpsnipp.com Wordpress code snippets for your blog -- Topsy.com November 24, 2010 at 4:32 pm

    […] Acest post a fost menționat pe Twitter de wp_freak, WPSNIPP. WPSNIPP a spus: #wordpress Creare pagină la activarea temei http://bit.ly/gTZHVl #blog te rog RT 🙂 […]

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!