X

Obține valoarea câmpului personalizat cu shortcode

Fragmente de IsItWP

Doriți să obțineți valori ale câmpurilor personalizate folosind un scurt cod? Deși probabil există un plugin pentru asta, am creat o secvență rapidă de cod pe care o puteți folosi pentru a obține valoarea unui câmp personalizat cu un scurt cod în WordPress.

Instrucțiuni:

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:

add_shortcode('field', 'shortcode_field');

function shortcode_field($atts){
     extract(shortcode_atts(array(
                  'post_id' => NULL,
               ), $atts));
  if(!isset($atts[0])) return;
       $field = esc_attr($atts[0]);
       global $post;
       $post_id = (NULL === $post_id) ? $post->ID : $post_id;
       return get_post_meta($post_id, $field, true);
}
 [field "my_key"]
 [field "my_key" post_id=1]

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 celelalte articole de pe site, cum ar fi: cele mai bune 10 plugin-uri de testimoniale WordPress pentru a adăuga dovadă socială și cum să creezi un formular de contact în WordPress.

Comentarii   Lasă un răspuns

  1. Scott Heliker 21 aprilie 2022 la 20:27

    Al meu scoate doar cuvântul Array?

  2. Salut, fragment de cod excelent 🙂

    Este posibil să afișăm un mesaj de eroare atunci când fișierul personalizat nu există?

    Este greu să depistezi erorile când nu există nicio ieșire.

    Cu stimă
    Rudi

  3. Aveți idee cum să afișez un câmp personalizat ca link?
    Am încercat asta: test dar nu funcționează. Mulțumesc.

  4. Bună,

    Funcționează bine pentru câmpurile personalizate ale plugin-urilor, mulțumesc! Dar cum să redau câmpuri standard precum „Titlu” sau „Rezumat”?

  5. mulțumesc foarte mult. treabă bună

    1. Salut Kasra, cu plăcere. Nu uitați să ne urmăriți pe Facebook și Twitter. 🙂

  6. Cum să globalizez valoarea câmpului personalizat, deoarece nu este declanșată în meta descriere de rankmath.

  7. Acest articol m-a ajutat enorm. Mulțumiri din Vietnam.

  8. ABoyHasNoName 22 august 2019 la 05:18

    Mulțumesc, a funcționat ca prin magie 🙂

  9. mulțumesc mult. asta funcționează perfect

    1. Shahzad Saeed 16 august 2019 la 07:16

      Mă bucur că a ajutat, Nail 🙂

  10. Mamma mia – funcționează perfect! Mulțumesc mult! 🙂

  11. Vă mulțumesc pentru acest fragment de cod uimitor, funcționează ca prin magie ?

    1. Mă bucur că a funcționat pentru tine

  12. Salut
    Nu reușesc să-l fac să funcționeze. Trebuie să editez scurt codul și să înlocuiesc cuvintele: my_key cu numele câmpului meu personalizat?
    Și trebuie să schimb ceva în codul pe care l-ați pus în functions.php sau să-l lipiți așa cum este? Mulțumesc mult

  13. Fragment de cod grozav, mulțumesc. Funcționează excelent pe paginile mele de produse woocommerce, dar nu pe coș și la finalizare. Orice sfat cum să remediez acest lucru ar fi foarte apreciat!

    1. Nicio idee? 🙁

  14. Andreas Kyriakidis 1 noiembrie 2016 la 06:41

    Salut! Vă mulțumesc pentru cod.

    Este posibil să personalizați fragmentul de cod pentru a avea și un scurt cod [field “my_key” page_id=1]?

  15. Kevin Chard 8 iulie 2016 la 08:40

    Salut Marco, dacă ar fi să ghicesc, folosești numele greșit al câmpului personalizat. unele plugin-uri vor folosi o linie de subliniere înainte de numele câmpului personalizat, de exemplu _description. acest lucru se face pentru a ascunde câmpurile pe partea de administrare.

    puteți folosi acest fragment de cod în tema dvs. pentru a afișa o listă a tuturor câmpurilor personalizate. Acesta va afișa o notificare de administrator în ecranul de editare a postării în panoul de administrare și va lista totul. Puteți elimina acest fragment de cod atunci când aveți numele corect al câmpului personalizat.

    http://wpsnipp.com/index.php/functions-php/show-absolutely-custom-fields-post/

    1. Nu, „description” este numele câmpului, importat de plugin-ul „CultureObject”
      introduc un nou „testfield” cu textul „textfield for post” în ecranul de editare a postării.
      „description” nu apare, textul „textfield for post” este vizibil.
      Am căutat în baza de date și ambele câmpuri apar. Cu excepția textului/conținutului, ele sunt identice.
      De ce un câmp personalizat importat de CulturObject se comportă diferit de un câmp personalizat creat manual.
      Este diferența că acele câmpuri pe care le completez manual (și care apar) sunt în postări obișnuite, iar câmpurile personalizate importate de CultureObject sunt în Postări Personalizate? (care nu apar)

  16. Jarod Emerson Thornton 5 august 2015 la 11:56

    Acesta este grozav. Mulțumesc mult!

  17. Nu scoate nimic într-un bloc de text Grid Element, într-un Post Grid (Visual Composer)

  18. Mulțumesc! Căutam pe Google ultimele 2 zile!!!

  19. Mulțumesc pentru articol, m-a ajutat foarte mult 🙂

  20. Mulțumesc pentru articol, m-a ajutat foarte mult 🙂

  21. 30 de fragmente de cod Wordpress extrem de utile și hack-uri | Web Design Habits 14 octombrie 2011 la 06:33
  22. Cliff Paulick 21 iulie 2011 la 17:56

    Când încerci să pui conținutul unui câmp personalizat în interiorul altui shortcode, în funcție de cum este configurat celălalt shortcode, ai putea renunța la ghilimele duble? De exemplu: [nume_camp_personalizat] în loc de [camp "nume_camp_personalizat"]

    În acest fel, un shortcode ca acesta ar putea funcționa (corect?): [formular-contact to="[nume_camp_personalizat]"] Pentru că dacă un shortcode cu ghilimele se află în interiorul unui shortcode cu ghilimele, ghilimelele/parantezele de la sfârșit îl încurcă (adică nu funcționează).

    Nu văd nicio ghilimele dublă în funcția/fragmentul dvs., așa că nu eram sigur.

    Mulțumesc mult!

    1. Cliff Paulick 21 iulie 2011 la 18:16

      Am încercat [camp]nume_camp_personalizat[/camp] și nu a funcționat.

      1. Postez detalii despre shortcode imbricat mâine, aruncă o privire, îți va oferi o idee mai bună despre cum trebuie să funcționeze cu shortcode încorporat.

    2. Nu, nu poți face asta, nu ar mai funcționa. Ce încerci să faci cu shortcode-urile imbricate? imbricarea shortcode-urilor nu va funcționa nici ea, doar se va strica.

  23. Cliff Paulick 19 iulie 2011 la 18:47

    Kevin, cred că acesta este EXACT ceea ce speram să găsesc. Mulțumesc pentru asta. Vreau să fiu sigur cum să-l folosesc. Când ai folosi-o pe a doua în loc de prima? : [camp „cheie_mea”][camp „cheie_mea” id_post=1]

    Mulțumesc.

    1. Ei bine, dacă adaugi shortcode-ul la o postare, poți folosi [camp „cheie_mea”] cheia_mea este numele câmpului personalizat. Cealaltă metodă [camp „cheie_mea” id_post=1] îți va permite să definești ID-ul postării pentru a obține valoarea câmpului personalizat al unei postări specifice.

      1. Cliff Paulick 19 iulie 2011 la 20:03

        Ai putea avea cod HTML într-un câmp personalizat care „iese”? De exemplu:

        Astăzi este cea mai grozavă zi din lume. Blah [camp „lista_imagini”] Imaginile de mai sus sunt grozave, nu-i așa? Blah [camp „bloc_html1”] Blah [camp „bloc_html2”] Mulțumesc că ai citit blogul meu.

        Și, doar ca să fie clar, dacă nu adaugi „id_post=”, va extrage doar câmpul personalizat pentru postarea/pagina pe care te afli deja – postarea curentă, corect?

        1. 1. Fără ID, da, va extrage doar câmpul personalizat al postării curente. 2. Nu văd de ce nu ar funcționa bine, ar trebui să poți pune orice în câmp și se va afișa.

        2. Cliff Paulick 19 iulie 2011 la 21:21

          Întrebarea mea este dacă redă conținutul câmpului personalizat ca și cum ar fi fost introdus în Editorul Vizual sau ca și cum ar fi fost introdus în Editorul HTML.

        3. Nu, va reda HTML-ul fără probleme.

  24. Adăugarea acestui cod în function.php mi-a dezactivat site-ul. Ce am făcut greșit?

    Shovan Sargunam de la echipa http://tamilbabyname.org

    1. Primești vreo eroare?

      1. A lipsește în linia 6, înainte de return;

        Funcționează bine, în afară de asta 🙂

        1. Super, mulțumesc, am actualizat fragmentul,

  25. Tweet-uri care menționează Wordpress Obține valoarea câmpului personalizat cu shortcode – wpsnipp.com Snippet-uri de cod Wordpress pentru blogul tău -- Topsy.com 20 ianuarie 2011 la 6:14 PM

    […] Această postare a fost menționată pe Twitter de wp_freak, WPSNIPP. WPSNIPP a spus: #wordpress Obține valoarea câmpului personalizat cu shortcode http://bit.ly/fWRRa3 #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!