Beschreibung
*** Funcție nouă adăugată: Custom Post ID Slugs ***
Aceasta este o extensie pentru Advanced Custom Fields (ACF) 5 + the Options Page Add On (sau ACF Pro).
Acest plugin nu va oferi nicio funcționalitate decât dacă ACF 5 și Options Page Add On (sau ACF5 Pro)
sunt instalate
Acest plugin oferă o interfață de administrare pentru adăugarea de pagini de opțiuni în ACF, inclusiv toate opțiunile pentru paginile de opțiuni ACF
opțiuni. Majoritatea opțiunilor sunt selectabile, de exemplu locația meniului, capacitatea și locul în care se salvează valorile câmpurilor
.
Pentru mai multe informații consultați
Alte note și
Capturi de ecran
Github Repository
Acest plugin este, de asemenea, pe GitHub
https://github.com/Hube2/acf-options-page-adder
Capacitatea de modificare
Capacitatea necesară pentru a adăuga/modifica setările paginilor de opțiuni este „manage_options”. Această capacitate poate fi schimbată prin adăugarea unui filtru.
add_filter('acf-options-page-adder/capability', 'my_acf_options_page_adder_cap');function my_acf_options_page_adder_cap($cap) { $cap = 'edit_published_posts'; return $cap;}
Salvarea valorilor în postul paginii de opțiuni
ACF v5.2.7 a adăugat capacitatea de a salva câmpurile paginii de opțiuni într-un ID de post. Acest plugin vă va permite să salvați opțiunile la același ID de post al postului creat atunci când adăugați o pagină de opțiuni folosind acest plugin. Puteți chiar să utilizați get_fields($options_page_id) fără a fi nevoie să vă faceți griji cu privire la obținerea câmpurilor pentru pagina de opțiuni în sine. De ce? pentru că toate câmpurile utilizate pentru crearea paginii de opțiuni încep cu un semn de subliniere _ și nu vor fi returnate de get_fields(). Singurul lucru de care trebuie să aveți grijă este să nu folosiți niciunul dintre numele câmpurilor folosite de acest plugin, ceea ce ar trebui să fie extrem de ușor, deoarece toate încep cu acfop.
Salvarea valorilor folosind un slug cu ID de post personalizat
Este posibil să folosiți un slug personalizat pentru salvarea valorilor paginii de opțiuni. De exemplu, dacă doriți să salvați valorile unei pagini de opțiuni pentru un utilizator, ați putea furniza „user_1” ca valoare $post_id pentru pagina de opțiuni. Acest lucru are și un alt efect secundar. În mod normal, atunci când ACF salvează valori în „options” în tabelul de opțiuni, veți găsi câmpurile cu prefixul „options_”. Astfel, de exemplu, dacă numele câmpului dvs. este „my_field”, atunci în tabelul options veți găsi „options_my_field” ca nume de opțiuni. Puteți furniza un slug personalizat pentru acest lucru, să spunem că ați setat setarea ID post pentru pagina de opțiuni la „my-custom-slug”. acest lucru ar face ca același câmp din pagina de opțiuni să aibă numele „my-custom-slug_my_field”. 2 Noi opțiuni au fost adăugate la acest plugin și puteți alege să folosiți slug-ul paginii de opțiuni pentru ID-ul postului sau puteți specifica un slug personalizat care să fie folosit în schimb.
Get Post ID for Options Page
O funcție și un filtru sunt disponibile pentru a obține valoarea ACF $post_id corectă pe care să o folosiți pentru a obține
valori din pagina de opțiuni. Această funcție/filtrul va returna „options” pentru paginile de opțiuni stocate în
opțiuni sau va returna ID-ul postului corect dacă opțiunile sunt salvate într-un post. ID-ul corect este returnat
în funcție de valoarea „menu_slug” a paginii de opțiuni.
/ example 1: function get_options_page_id()// get the post_id of an options page$post_id = get_options_page_id('my_options_page_slug');// get a value using $post_id$value = get_field('my_option_field', $post_id);// or it can be combined like this$value = get_field('my_option_field', get_options_page_id('my_options_page_slug'));// example 2: by filter$default = 'option',$slug = 'my_options_page_slug';$post_id = apply_filters('get_option_page_id_filter', $default, $slug);$value = get_field('my_option_field', $post_id);// or it can be combined like this$value = get_field('my_option_field', apply_filters('get_option_page_id_filter', $default, $slug));
Există o condiție în care veți obține ID-ul postului incorect. Această condiție este creată prin existența unei pagini de redirecționare de nivel superior care este setată să redirecționeze către prima pagină de opțiuni secundare. Dacă nu există nicio pagină de opțiuni secundare care să existe, atunci se va returna valoarea pentru pagina de opțiuni de nivel superior. Dacă ulterior creați o pagină de opțiuni secundare, aceasta va returna noua valoare din pagina de opțiuni secundare. Acesta este motivul pentru care am văzut valoarea implicită a redirecționării la false. Dacă doriți ca pagina de nivel superior să redirecționeze, trebuie să fiți conștient de faptul că acest lucru vă poate cauza probleme mai târziu, dacă nu ați creat o pagină de opțiuni secundare. De asemenea, ar trebui să setați în mod specific ordinea paginilor de opțiuni secundare astfel încât acestea să nu se schimbe la un moment dat în viitor, deoarece adăugarea unei noi pagini de opțiuni cu aceeași ordine ca și pagina de nivel superior existentă va modifica locația de salvare și de obținere către noua pagină de opțiuni. Nu pot face nimic în legătură cu acest lucru, este modul în care funcționează. Atunci când setați paginile de opțiuni ACF pentru a salva la o postare în loc de opțiuni trebuie să fiți mai precis în cu argumentele paginii de opțiuni.
Suport Font Awesome
Vă rugăm să rețineți că acest plugin nu solicită sau include Font Awswsome în administratorul site-ului dvs.
Dacă includeți Font Awsome în administratorul dvs. atunci puteți folosi Font Awesome Icons pentru pictogramele din
pagina de opțiuni de nivel superior. De exemplu, dacă doriți să folosiți pictograma Address Book, atunci tot ce trebuie să faceți este să adăugați fa fa-address-book
în câmpul Icon atunci când adăugați sau editați pagina de opțiuni.
Versiunea 3.8.0 a acestui plugin a adăugat posibilitatea de a personaliza pagina de opțiuni ACF prin adăugarea de conținut de antet și footer. În plus față de câmpurile WYSIWYG care au fost adăugate la editorul de administrare a paginii de opțiuni, puteți, de asemenea, să personalizați aceste secțiuni, sau întreaga pagină de opțiuni folosind filtre.
Versiunea 3.8.2 a acestui plugin adaugă un comutator pentru a activa această funcție. Această caracteristică poate cauza o eroare fatală de out of
memory pe paginile de opțiuni care au un număr mare de câmpuri. Dacă a fost introdus conținut în acest câmp înainte de activarea comutatorului pentru activare, atunci comutatorul va fi activat automat. În caz contrar, valoarea implicită pentru această opțiune va fi dezactivată.
Contenut antet
add_filter('acf-options-page-adder/page-header', 'my_custom_options_page_header', 10, 2);function my_custom_options_page_header($content, $hook) { // $content = content, by default it is '' or the value of the WYSIWYG editor // $hook = the current options page hook that is being called $content = '<p>My Custom Header Content</p>'; return $content;}
Contenut subsol
add_filter('acf-options-page-adder/page-footer', 'my_custom_options_page_footer', 10, 2);function my_custom_options_page_footer($content, $hook) { // $content = content, by default it is '' or the value of the WYSIWYG editor // $hook = the current options page hook that is being called $content = '<p>My Custom Footer Content</p>'; return $content;}
Filtrează întreaga pagină de opțiuni
add_filter('acf-options-page-adder/page-content', 'my_custom_options_page_filter', 10, 2);function my_custom_options_page_filter($content, $hook) { // $content = entire content or options page, including all ACF fields // $hook = the current options page hook that is being called // caution should be taken when making modification to the page content return $content;}
Îndepărtați Nag
Dacă doriți să eliminați micul meu nag care apare pe unele pagini de administrare adăugați următoarele la fișierul functions.php
add_filter('remove_hube2_nag', '__return_true');
.