Cum să adaugi câmpuri personalizate pe pagina de arhivă în WordPress?

3 iul. 2017, 11:23:38
Vizualizări: 13.7K
Voturi: 7

Cum să adaugi câmpuri pe pagina de arhivă?

Folosesc pluginul Advanced Custom Fields (dar nu este relevant, pot folosi și câmpuri native WordPress) și vreau să adaug un câmp personalizat pe pagina de arhivă a postărilor personalizate.

Problema este că nu există o pagină de arhivă implicită unde să poți atașa câmpul (deși poți adăuga pe categorii individuale, deoarece acestea au prezență în zona de administrare).

Crearea șablonului de pagină personalizat = fără evidențiere în meniu

O soluție ar fi să creezi un șablon de pagină personalizat pentru arhive. Dar în acest fel pierzi abilitatea de a-l evidenția în bara de navigare când ești pe o postare/categorie individuală, deoarece această pagină nouă nu va fi recunoscută ca părinte a postărilor individuale.

Am dreptate că nu există nicio modalitate de a adăuga câmpuri la arhivă și de a păstra evidențierea în meniu?

0
Toate răspunsurile la întrebare 1
4

Folosind plugin-ul Advanced Custom Fields, poți atribui pagini de opțiuni pentru tipul tău personalizat de postări astfel:

if( function_exists('acf_add_options_page') )
{
    acf_add_options_page(array(
        'page_title'    => 'Opțiuni YOUR_PAGE_TILE',
        'menu_title'    => 'Opțiuni YOUR_MENU_TITLE',
        'menu_slug'     => 'options_YOUR_SLUG',
        'capability'    => 'edit_posts',
        'parent_slug'   => 'edit.php?post_type=YOUR_CUSTOM_POSTTYPE_SLUG',
        'position'      => false,
        'icon_url'      => 'dashicons-images-alt2',
        'redirect'      => false,
    ));
}

În acest fel, vei obține o pagină de opțiuni căreia îi poți atribui câmpuri ulterior. Reține că toate câmpurile pe care le atribui acestei pagini de opțiuni nu sunt legate de tipul tău personalizat de postări. Acestea sunt asemănătoare cu câmpurile de opțiuni "normale", dar le vei găsi în secțiunea tipului tău personalizat de postări din meniul WP Backend. Cred că este necesar să folosești versiunea pro a plugin-ului - sau să ai addon-ul instalat pentru a construi pagini de opțiuni.

3 iul. 2017 17:12:04
Comentarii

Mulțumesc. Adaugă opțiunea, dar din nu știu ce motiv nu o afișează pe pagina efectivă. Obții valoarea ca de obicei cu the_field()?

Runnick Runnick
3 iul. 2017 18:02:37

Lucrez cu șabloane Twig, dar ar trebui să funcționeze dacă faci astfel: $options= get_fields('option'); și apoi obții valoarea prin echo $options['YOUR_FIELDNAME'];

Luckyfella Luckyfella
3 iul. 2017 18:07:20

De fapt este the_field('option_name', 'option') dacă e cineva interesat.

Runnick Runnick
3 iul. 2017 20:53:21

Ambele metode funcționează. Soluția ta economisește resurse, desigur. Dacă ai un site cu nu prea multe valori de opțiuni, este mai elegant să le atribui pe toate unui array, în opinia mea. În felul acesta nu trebuie să repeți scrierea the_field(..., 'option') tot timpul.

Luckyfella Luckyfella
3 iul. 2017 21:16:20