Beschreibung
*** Přidána nová funkce: Custom Post ID Slugs ***
Jedná se o doplněk pro Advanced Custom Fields (ACF) 5 + Options Page Add On (nebo ACF Pro).
Tento doplněk neposkytuje žádnou funkci, pokud není nainstalován ACF 5 a Options Page Add On (nebo ACF5 Pro)
Tento doplněk poskytuje administrátorské rozhraní pro přidávání stránek možností v ACF včetně všech možností pro stránky možností ACF
. Většina možností je volitelná, například umístění nabídky, možnosti a kam ukládat
hodnoty polí.
Další informace naleznete v části
Další poznámky a
Snímky obrazovky
Úložiště GitHub
Tento zásuvný modul je také na GitHubu
https://github.com/Hube2/acf-options-page-adder
Možnost změny
Možnost potřebná k přidání/úpravě nastavení stránky možností je „manage_options“. Tuto schopnost lze změnit přidáním 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;}
Uložení hodnot do příspěvku stránky možností
ACF v5.2.7 přidal možnost uložit pole stránky možností do ID příspěvku. Tento doplněk vám umožní uložit možnosti do stejného ID příspěvku, který byl vytvořen při přidávání stránky možností pomocí tohoto doplňku. Můžete dokonce použít get_fields($options_page_id), aniž byste se museli starat o získání polí pro samotnou stránku možností. Proč? protože všechna pole použitá pro vytvoření stránky možností začínají podtržítkem _ a nebudou vrácena funkcí get_fields(). Jediné, na co si musíte dát pozor, je nepoužít žádný z názvů polí používaných tímto doplňkem, což by mělo být velmi snadné, protože všechny začínají na acfop.
Uložení hodnot pomocí vlastního slugu ID příspěvku
Pro uložení hodnot stránky možností je možné použít vlastní slug. Pokud byste například chtěli uložit hodnoty stránky možností pro uživatele, mohli byste jako hodnotu $post_id stránky možností zadat „user_1“. To má také další vedlejší efekt. Za normálních okolností, když ACF ukládá hodnoty do „options“ v tabulce options, najdete pole s předponou „options_“. Pokud je tedy například název pole „my_field“, pak v tabulce options najdete jako název pole „options_my_field“. Můžete k tomu dodat vlastní slug, řekněme, že nastavíte ID příspěvku pro stránku možností na „my-custom-slug“. to způsobí, že stejné pole na stránce možností bude mít název „my-custom-slug_my_field“. 2 Do tohoto zásuvného modulu byly přidány nové možnosti a můžete si vybrat, zda chcete pro ID příspěvku použít slug stránky možností, nebo zda chcete místo toho zadat vlastní slug, který chcete použít.
Získání ID příspěvku pro stránku možností
K dispozici je funkce a filtr pro získání správné hodnoty ACF $post_id, která se použije pro získání
hodnoty ze stránky možností. Tato funkce/filtr vrátí hodnotu ‚options‘ pro stránky s možnostmi uložené ve složce
options nebo vrátí správné ID příspěvku, pokud jsou možnosti uloženy do příspěvku. Správné ID je vráceno
na základě hodnoty „menu_slug“ stránky možností.
/ 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));
Existuje podmínka, kdy získáte nesprávné ID příspěvku. Tato podmínka vzniká tím, že máte stránku s přesměrováním nejvyšší úrovně, která je nastavena na přesměrování na první dílčí stránku možností. Pokud neexistuje žádná stránka dílčích možností, která by existovala, pak se vrátí hodnota pro stránku možností nejvyšší úrovně. Pokud později vytvoříte stránku dílčích možností, vrátí novou hodnotu ze stránky dílčích možností. Proto vidím výchozí hodnotu přesměrování na false. Pokud chcete, aby stránka nejvyšší úrovně přesměrovala, musíte si být vědomi, že vám to později může způsobit problémy, pokud jste nevytvořili stránku dílčích možností. Měli byste také speciálně nastavit pořadí stránek dílčích možností tak, aby se tyto stránky v budoucnu nezměnily, protože přidání nové stránky možností se stejným pořadím jako stávající stránka nejvyšší úrovně změní uložení a získání umístění na nové stránce možností. S tím nemohu nic dělat, takhle to funguje. Při nastavování stránek možností ACF tak, aby se ukládaly do příspěvku místo do možností, musíte být přesnější v argumentech stránky možností.
Podpora Font Awesome
Upozorňujeme, že tento doplněk neukládá ani nezahrnuje Font Awsome do administrace vašeho webu.
Pokud zahrnete Font Awsome do administrace, můžete použít Font Awesome Icons pro ikony
stránky možností nejvyšší úrovně. Pokud byste například chtěli použít ikonu adresáře, pak stačí při přidávání nebo úpravách stránky s možnostmi přidat fa fa-address-book
do pole Ikona.
Záhlaví/zápatí/obsah stránky s možnostmi filtru
Verze 3.8.0 tohoto doplňku přidala možnost přizpůsobit stránku s možnostmi ACF přidáním obsahu záhlaví a zápatí. Kromě WYSIWYG polí, která byla přidána do editoru správce stránky možností, můžete tyto části nebo celou stránku možností přizpůsobit pomocí filtrů.
Verze 3.8.2 tohoto zásuvného modulu přidává přepínač pro zapnutí této funkce. Tato funkce může způsobit fatální chybu out of
memory na stránkách možností, které mají velký počet polí. Pokud byl obsah do tohoto pole zadán před zapnutím přepínače, pak se přepínač automaticky zapne. V opačném případě bude tato volba ve výchozím nastavení vypnutá.
Obsah záhlaví
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;}
Obsah zápatí
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;}
Filtr celé stránky s možnostmi
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;}
Odstranit nágu
Pokud chcete odstranit mou malou nágu, která se zobrazuje na některých administračních stránkách, přidejte do souboru functions.php následující text
add_filter('remove_hube2_nag', '__return_true');
.