Beschreibung
*** Ny funktion läggs till: Custom Post ID Slugs ***
Detta är ett tillägg plugin för Advanced Custom Fields (ACF) 5 + Options Page Add On (eller ACF Pro).
Detta plugin kommer inte att ge någon funktionalitet om inte ACF 5 och Options Page Add On (eller ACF5 Pro)
är installerat
Detta plugin ger ett administratörsgränssnitt för att lägga till alternativsidor i ACF inklusive alla alternativ för ACF
optionsidor. De flesta alternativen är valbara, till exempel menyplacering, kapacitet och var man ska spara
fältvärden till.
För mer information se
Other Notes and
Screenshots
Github Repository
Detta insticksprogram finns också på GitHub
https://github.com/Hube2/acf-options-page-adder
Change Capability
Funktionen som krävs för att lägga till/redigera inställningar för alternativsidor är ”manage_options”. Denna förmåga kan ändras genom att lägga till ett filter.
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;}
Spara värden till inlägget på alternativsidan
ACF v5.2.7 lade till möjligheten att spara fält på alternativsidan till ett inläggs-ID. Med det här insticksprogrammet kan du spara alternativen till samma inläggs-ID som det inlägg som skapas när du lägger till en alternativsida med hjälp av det här insticksprogrammet. Du kan även använda get_fields($options_page_id) utan att behöva oroa dig för att hämta fälten för själva alternativsidan. Varför? eftersom alla fält som används för att skapa alternativsidan börjar med ett understreck _ och inte kommer att returneras av get_fields(). Det enda du behöver vara försiktig med är att inte använda något av de fältnamn som används av det här insticksprogrammet, vilket borde vara extremt enkelt eftersom de alla börjar med acfop.
Spara värden med hjälp av ett anpassat inläggs-ID slug
Det är posible att använda ett anpassat slug för att spara värden för alternativsidor. Om du till exempel vill spara värden för en alternativsida till en användare kan du ange ”user_1” som $post_id-värde för opitonsidan. Detta har också en annan bieffekt. När ACF sparar värden till ”options” i alternativtabellen hittar du normalt fälten med prefixet ”options_” när ACF sparar värden till ”options”. Om ditt fältnamn till exempel är ”my_field” kommer du i alternativtabellen att hitta ”options_my_field” som alternativnamn. Du kan ange en egen slug för detta, låt oss säga att du ställer in post-ID-inställningen för alternativsidan till ”my-custom-slug”. Detta skulle leda till att samma fält på alternativsidan skulle ha namnet ”my-custom-slug_my_field”. 2 Nya alternativ har lagts till i det här insticksprogrammet och du kan välja att använda alternativsidans slug för inläggs-ID eller så kan du ange en egen slug som ska användas istället.
Hämta inläggs-ID för alternativsidan
En funktion och ett filter finns tillgängliga för att få fram det korrekta ACF $post_id-värdet som ska användas för att få
värden från alternativsidan. Den här funktionen/filtret returnerar ”options” för alternativsidor som är lagrade i
options eller returnerar rätt postid om alternativen är sparade i ett inlägg. Rätt ID returneras
baserat på värdet ”menu_slug” för alternativsidan.
/ 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));
Det finns ett villkor där du får det felaktiga postidet. Detta tillstånd skapas genom att ha en toppnivåomdirigeringssida som är inställd på att omdirigera till den första underalternativssidan. Om det inte finns någon sida för underalternativ kommer värdet för den översta sidan för alternativ att returneras. Om du senare skapar en sida med underalternativ kommer det nya värdet från sidan med underalternativ att returneras. Det är därför jag har sett standardvärdet för omdirigering till false. Om du vill att den översta sidan ska omdirigera måste du vara medveten om att det kan orsaka problem senare om du inte har skapat en underalternativssida. Du bör också specifikt ställa in ordningen för underalternativssidor så att dessa inte ändras någon gång i framtiden eftersom om du lägger till en ny alternativsida med samma ordning som den befintliga toppnivå-sidan kommer det att ändra save and get-platsen till den nya alternativsidan. Det finns inget jag kan göra åt detta, det är så det fungerar. När du ställer in ACF-alternativsidor för att spara till ett inlägg istället för alternativ måste du vara mer exakt med argumenten för alternativsidan.
Font Awesome Support
Bemärk att det här insticksmodulet inte har enqueue eller inkluderar Font Awswsome i administratören av din webbplats.
Om du inkluderar Font Awsome i din administratör kan du använda Font Awesome Ikoner för ikonerna på
top level options page. Om du till exempel vill använda Adressboksikonen behöver du bara lägga till fa fa-address-book
i Ikonfältet när du lägger till eller redigerar alternativsidan.
Filter Options Page Header/Footter/Content
Version 3.8.0 av det här insticksmodulet lade till möjligheten att anpassa ACF-alternativssidan genom att lägga till innehåll i rubrik och sidfot. I addtion till WYSIWYG-fälten som har lagts till i alternativsidans administratör kan du också anpassa dessa sektioner eller hela alternativsidan med hjälp av filter.
Version 3.8.2 av det här insticksprogrammet lägger till en växel för att aktivera den här funktionen. Den här funktionen kan orsaka ett fatalt fel om minnet är slut
på alternativsidor som har ett stort antal fält. Om innehåll matades in i det här fältet innan växeln för att slå på aktiveras kommer växeln automatiskt att slås på. Annars kommer standardvärdet för detta alternativ att vara avstängt.
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
Om du vill ta bort mitt lilla tjat som visas på vissa administratörssidor lägger du till följande i din functions.php-fil
add_filter('remove_hube2_nag', '__return_true');
.