Beschreibung
*** New feature added: Custom Post ID Slugs ***
This is an add on plugin for Advanced Custom Fields (ACF) 5 + the Options Page Add On (or ACF Pro).
Ez a plugin nem biztosít semmilyen funkciót, hacsak az ACF 5 és az Options Page Add On (vagy ACF5 Pro)
nincs telepítve
Ez a plugin admin felületet biztosít az opciós oldalak hozzáadásához az ACF-ben, beleértve az ACF
opciós oldalak összes opcióját. A legtöbb opció választható, például a menü helye, képessége és az, hogy hova mentse
a mezők értékeit.
Bővebb információért lásd
Egyéb megjegyzések és
Screenshotok
Github Repository
Ez a plugin a GitHubon is megtalálható
https://github.com/Hube2/acf-options-page-adder
Módosítási képesség
Az opciós oldal beállításainak hozzáadásához/szerkesztéséhez szükséges képesség a “manage_options”. Ez a képesség egy szűrő hozzáadásával módosítható.
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;}
Az értékek mentése az opciós oldal posztjába
Az ACF v5.2.7 hozzáadta az opciós oldal mezőinek poszt azonosítóba történő mentésének lehetőségét. Ez a bővítmény lehetővé teszi, hogy az opciókat az opciós oldal hozzáadásakor létrehozott poszt azonosítójával megegyező poszt azonosítójába mentse, amikor a bővítmény használatával hozzáad egy opciós oldalt. Használhatja a get_fields($options_page_id) parancsot is, anélkül, hogy aggódnia kellene magának az opciós oldalnak a mezőinek a megszerzése miatt. Miért? mert az opciós oldal létrehozásához használt összes mező aláhúzással kezdődik _-vel, és a get_fields() nem adja vissza őket. Az egyetlen dolog, amire figyelnie kell, hogy ne használja a plugin által használt mezőneveket, ami rendkívül egyszerűnek kell lennie, mivel mindegyik acfop-val kezdődik.
Az értékek mentése egyéni post ID slug használatával
Az opciós oldal értékeinek mentéséhez lehetőség van egyéni slug használatára. Ha például egy opciós oldal értékeit egy felhasználóhoz szeretné menteni, akkor az opciós oldal $post_id értékeként megadhatja a “user_1” értéket. Ennek van egy másik mellékhatása is. Normális esetben, amikor az ACF az opciók táblázatban az “options” értékeket menti el, az “options_” előtaggal ellátott mezőket találja. Tehát például, ha a mező neve “my_field”, akkor az opciók táblában “options_my_field” lesz az opciók neve. Ehhez megadhat egy egyéni slugot, mondjuk, hogy az opciós oldal post ID beállítását “my-custom-slug”-ra állítja be. ez azt eredményezi, hogy ugyanez a mező az opciós oldalon az “my-custom-slug_my_field” nevet kapja. 2 Új opciókat adtunk ehhez a bővítményhez, és választhat, hogy az opciós oldal slugját használja-e a poszt azonosítójához, vagy megadhat egy egyéni slugot, amelyet helyette használ.
Get Post ID for Options Page
Egy függvény és egy szűrő áll rendelkezésre a megfelelő ACF $post_id érték megszerzéséhez, amelyet az opciós oldalról való
értékek megszerzéséhez használhatunk. Ez a függvény/szűrő a
opciókban tárolt opciós oldalak esetében az ‘options’ értéket adja vissza, vagy a helyes post ID-t adja vissza, ha az opciók egy posthoz vannak mentve. A helyes azonosítót az opciós oldal “menu_slug” értéke alapján adja vissza
.
/ 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));
Létezik olyan feltétel, amikor helytelen post azonosítót kap. Ez a feltétel úgy jön létre, hogy van egy felső szintű átirányító oldal, amely úgy van beállítva, hogy az első alopciós oldalra irányít át. Ha nincs létező alopciós oldal, akkor a legfelső szintű opciós oldal értékét adja vissza. Ha később létrehoz egy alopciós oldalt, akkor az alopciós oldal új értékét adja vissza. Ezért látom, hogy az átirányítás alapértelmezett értéke false. Ha azt szeretné, hogy a legfelső szintű oldal átirányítson, akkor tisztában kell lennie azzal, hogy ez később problémákat okozhat, ha nem hozott létre egy alopciós oldalt. Az alopciós oldalak sorrendjét is kifejezetten úgy kell beállítania, hogy ezek ne változzanak meg valamikor a jövőben, mert egy új opciós oldal hozzáadása a meglévő legfelső szintű oldallal azonos sorrendben megváltoztatja a mentés és az új opciós oldalra való eljutás helyét. Ez ellen nem tudok mit tenni, ez így működik. Amikor az ACF opciós oldalakat úgy állítod be, hogy az opciók helyett egy posztba mentsenek, pontosabbnak kell lenned az opciós oldal argumentumaival.
Font Awesome Support
Kérlek vedd figyelembe, hogy ez a plugin nem sorolja be vagy nem tartalmazza a Font Awswsome-ot a webhely adminjában.
Ha a Font Awsome-ot az adminodban használod, akkor a Font Awesome ikonokat használhatod a
felső szintű opciós oldal ikonjaihoz. Például ha címjegyzék ikont szeretnél használni, akkor csak annyit kell tenned, hogy hozzáadod fa fa-address-book
az ikon mezőbe, amikor hozzáadod vagy szerkeszted az opciós oldalt.
A plugin 3.8.0 verziója hozzáadta a lehetőséget az ACF opciós oldal testreszabására fejléc és lábléc tartalom hozzáadásával. Az opciós oldal admin szerkesztőjéhez hozzáadott WYSIWYG mezők mellett ezeket a részeket vagy az egész opciós oldalt is testreszabhatja szűrők segítségével.
A plugin 3.8.2-es verziója egy kapcsolót ad hozzá a funkció engedélyezéséhez. Ez a funkció a
memória kimerülése végzetes hibát okozhat a nagyszámú mezőt tartalmazó opciós oldalakon. Ha a mezőbe a bekapcsolás bekapcsolása előtt adtak be tartalmat, akkor a bekapcsolás automatikusan bekapcsolódik. Ellenkező esetben az opció alapértelmezett beállítása ki lesz kapcsolva.
Header Content
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;}
Footer Content
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;}
Filter Entire Options Page
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;}
Remove Nag
Ha el szeretnéd távolítani a kis nyaggatásomat, ami néhány admin oldalon megjelenik, add a következőt a functions.php fájlodhoz
add_filter('remove_hube2_nag', '__return_true');
.