Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să adăugați automat câmpuri personalizate la publicarea postării în WordPress

Crearea automată de câmpuri personalizate la publicarea postărilor WordPress este o modalitate puternică de a economisi timp și de a reduce sarcinile repetitive, mai ales dacă gestionați un site mare sau lucrați la funcționalități personalizate.

În loc să adăugați manual aceleași câmpuri personalizate de fiecare dată când publicați un anumit tip de conținut, puteți automatiza procesul și puteți menține coerența.

Am lucrat la multe proiecte WordPress de-a lungul anilor, construind totul, de la bloguri simple la site-uri complexe cu funcționalități avansate. Pe parcurs, am acumulat o mulțime de sfaturi practice, cum ar fi acesta, care vă pot face fluxul de lucru mai rapid și mai eficient.

În acest tutorial, vă vom arăta cum să adăugați câmpuri personalizate automat la publicarea postărilor în WordPress, pas cu pas.

Cum să adăugați automat câmpuri personalizate la publicarea postării în WordPress

De ce să adăugăm câmpuri personalizate automat?

Câmpurile personalizate vă permit să adăugați informații suplimentare la postările dvs. Aceste informații pot fi afișate pe site-ul dvs. web, păstrate private sau utilizate de teme și pluginuri pentru a extinde funcționalitatea site-ului dvs. web WordPress.

Există multe moduri creative de a utiliza câmpurile personalizate. Veți găsi o listă de idei utile în ghidul nostru sfaturi, trucuri și hack-uri pentru câmpuri personalizate WordPress.

În unele cazuri, veți dori ca un câmp personalizat să fie creat automat ori de câte ori publicați o postare. Acest lucru este deosebit de util atunci când adăugați funcționalități la WordPress, astfel încât să îl puteți folosi ca mai mult decât un simplu blog.

De exemplu, la WPBeginner, am folosit această metodă atunci când am creat un site web cu galerie. Am dorit să stocăm URL-uri scurte pentru fiecare element trimis în galerie. Prin urmare, am creat automat un câmp personalizat pentru a stoca URL-ul scurt atunci când fiecare postare era publicată.

Acest tip de automatizare ajută dezvoltatorii să economisească timp, să reducă erorile și să construiască site-uri WordPress mai puternice cu mai puțin efort manual.

Acum, să vedem cum să o configurăm.

Adăugarea automată a câmpurilor personalizate la publicarea postării

Această metodă implică adăugarea unui fragment de cod personalizat în fișierul functions.php al temei dvs. Nu recomandăm editarea fișierelor temei utilizatorilor fără experiență, deoarece chiar și o greșeală mică ar putea defecta site-ul dvs. web.

În schimb, vă vom arăta cum să utilizați pluginul WPCode în acest tutorial.

WPCode

WPCode facilitează adăugarea de fragmente de cod în WordPress fără a fi nevoie să editați fișierul functions.php al temei. De asemenea, puteți gestiona toate fragmentele de cod dintr-un singur ecran central.

Dacă aceasta este prima dată când adăugați cod în WordPress, atunci ar trebui să consultați ghidul nostru despre cum să copiați și lipiți fragmente de cod în WordPress pentru mai multe detalii.

Pentru a începe, trebuie să instalați și să activați pluginul gratuit WPCode. Dacă aveți nevoie de ajutor, consultați tutorialul nostru despre cum să instalați un plugin WordPress.

Notă: Versiunea gratuită a WPCode are tot ce aveți nevoie pentru a adăuga cod personalizat în WordPress. Pentru funcționalități mai avansate, cum ar fi fragmente programate, pixeli de conversie și multe altele, puteți face upgrade la WPCode Pro.

Odată ce pluginul este activat, un nou element de meniu etichetat „Fragmente de cod” va fi adăugat în bara de administrare WordPress. Faceți clic pe el și apoi apăsați butonul „Adăugare nou” pe ecranul următor.

Apăsați butonul Adăugare nou pentru a adăuga primul fragment de cod personalizat în WPCode

Acest lucru vă va duce la Biblioteca de fragmente WPCode.

De aici, navigați la opțiunea „Adăugați codul dvs. personalizat (Snippet nou)” și faceți clic pe butonul „+ Adăugați snippet personalizat” de sub acesta.

Faceți clic pe butonul Adăugare fragment personalizat

În continuare, selectați „PHP Snippet” ca tip de cod din lista de opțiuni care apar pe ecran.

Selectați Fragment PHP ca tip de cod

După aceea, trebuie să dați un titlu fragmentului, apoi să copiați următorul cod și să-l lipiți în caseta „Previzualizare cod”.

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'field-name', 'custom value', true);
    }
}

Va trebui să înlocuiți „nume-câmp” și „valoare-personalizată” cu numele și valoarea reale pe care doriți să le utilizați pentru câmpul personalizat.

Lipiți fragmentul de cod în caseta de cod WPCode

Apoi, derulați în jos la secțiunea „Inserare”. Aici, va trebui să lăsați selectată metoda „Inserare automată”.

Alegeți metoda de inserare pentru fragmentul dvs. de cod personalizat

Cu metoda de inserare automată, fragmentul va fi inserat și executat automat în locația corectă.

Odată ce ați terminat, va trebui să comutați comutatorul de la „Inactiv” la „Activ” și apoi să faceți clic pe butonul „Salvare fragment”.

Salvați și activați fragmentul de cod personalizat

Odată ce fragmentul este activat, câmpul personalizat va fi creat ori de câte ori publicați o postare.

Sperăm că acest tutorial v-a ajutat să învățați cum să adăugați câmpuri personalizate automat la publicarea postărilor în WordPress. De asemenea, ați putea dori să învățați cum să afișați câmpuri personalizate în afara buclei în WordPress sau să consultați lista noastră de pluginuri WordPress obligatorii pentru a vă dezvolta site-ul.

Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

18 CommentsLeave a Reply

  1. Dacă am un site web cu mai mulți utilizatori și doresc ca o biografie a autorului să fie inserată automat la publicarea unui articol, poate fi folosit acest ghid? Adică, pot fi folosite câmpuri personalizate pentru a asigura că o scurtă biografie a autorului este inserată la început, în funcție de cine scrie articolul? Aș dori ca acest lucru să fie automatizat. În prezent, facem acest lucru folosind Elementor, unde fiecare autor are șablonul salvat și trebuie să îl insereze manual la început.

  2. Trebuie să adaug această acțiune pentru tipul de postare personalizată numită „ad_system”

  3. Vreau să adaug ID-ul categoriei pentru postare în tabelul post_meta. Cum poate fi modificată funcția function add_custom_field_automatically($post_ID) pentru a acomoda acest lucru?

    Mulțumesc

  4. În loc să adaug câmpul personalizat în momentul creării postării, cum afișez un câmp personalizat implicit pe pagina de administrare?

    • Dacă observați, codul de mai sus nu are nimic legat de tipurile de postări personalizate. Se adaugă doar la tipul de conținut Post și Pagină. Deci, ar trebui să specificați hook-ul pentru tipul dvs. de postare personalizată.

      Admin

      • Mulțumesc pentru răspuns. Mă poți ajuta cu acest cod.
        add_action(‘publish_page’, ‘add_custom_field_automatically’);
        add_action(‘publish_post’, ‘add_custom_field_automatically’);
        add_action( ‘save_post’, ‘add_custom_field_automatically’ );

        function add_custom_field_automatically($post_ID) { global $post; if(!wp_is_post_revision($post_ID)) { global $wpdb; $user_id = $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_ID"); $themename = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = ‘themeperauthor’ AND user_id = $user_id"); add_post_meta($post_ID, ‘themeperauthor’, $themename, true); } } Când câmpul meta al utilizatorului este modificat, vreau să șterg automat câmpul personalizat și să actualizez cu cel nou

  5. Am lucrat la adăugarea unor câmpuri personalizate ascunse la publicarea/actualizarea postărilor (prin prefixarea numelui câmpului cu „_”), dar din anumite motive trebuie să actualizez postarea de două ori înainte ca intrările wp_postmeta să fie scrise în baza de date.

    Am încercat să mă joc cu prioritatea și să experimentez cu alte hook-uri de acțiune (draft_to_publish, edit_post, etc.), dar se pare că nu face nicio diferență.

    Aveți idei?

  6. va funcționa și pentru tipurile de postări personalizate?
    cceva de genul add_action(‘publish_custom-post-typ-name’, ‘add_custom_field_automatically’);

    • Da, va funcționa.

      Un dezavantaj al acestei tehnici de care oamenii ar trebui să fie conștienți este că, dacă cineva editează o postare publicată, acest hook va fi declanșat din nou la editare. Prin urmare, trebuie să verificați meta-ul înainte de a-l adăuga sau de a-l actualiza, sau de a face ceea ce are cel mai mult sens pentru cazul dvs. de utilizare.

      Dacă doriți ca codul dvs. să fie declanșat doar la publicarea inițială, atunci puteți folosi hook-ul transition_post_status. Acest hook funcționează astfel:


      add_action('transition_post_status','example',10,3);
      function example($new, $old, $post) {
      // $new este noul statut al postării ('publish')
      // $old este statutul vechi al postării ('draft')
      // $post este Obiectul Post complet (deci folosiți $post->ID pentru ID, etc.)
      }

      Apoi, aici poți face o verificare pentru ceva de genul acesta:

      if ($new == 'publish' && $old != 'publish')

      Pentru ca codul dvs. să fie utilizat numai atunci când starea postării se tranziționează efectiv la publicat din orice stare anterioară. Acest hook este declanșat în același timp cu hook-urile {$status}_{$post-type}, deci operațiunea lor este practic aceeași.

  7. mulțumesc pentru acest sfat util. anterior, în timp ce foloseam câmpuri personalizate, trebuia să lucrez manual. acum acest lucru o va face automat. mulțumesc că mi-ați economisit timp prețios

Lasă un răspuns

Vă mulțumim 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 comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.