Beschreibung
*** Ny funktion tilføjet: Custom Post ID Slugs ***
Dette er en tilføjelse til plugin for Advanced Custom Fields (ACF) 5 + Options Page Add On (eller ACF Pro).
Dette plugin vil ikke give nogen funktionalitet, medmindre ACF 5 og Options Page Add On (eller ACF5 Pro)
er installeret
Dette plugin giver en admin-grænseflade til tilføjelse af optionssider i ACF, herunder alle muligheder for ACF
optionssider. De fleste indstillinger kan vælges, f.eks. menuplacering, kapacitet og hvor man skal gemme
feltværdier til.
For flere oplysninger se
Andre noter og
skærmbilleder
Github-repositorium
Dette plugin er også på GitHub
https://github.com/Hube2/acf-options-page-adder
Funktionen til at ændre kapacitet
Den funktion, der kræves for at tilføje/redigere indstillingerne for indstillingssider, er “manage_options”. Denne evne kan ændres ved at tilføje et 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;}
Save Values to the Options Page Post
ACF v5.2.7 tilføjede evnen til at gemme felter på indstillingssiden til et indlægs-id. Med dette plugin kan du gemme indstillingerne til det samme indlægs-id som det indlæg, der oprettes, når du tilføjer en indstillingsside ved hjælp af dette plugin. Du kan endda bruge get_fields($options_page_id) uden at skulle bekymre dig om at få felterne til selve indstillingssiden. Hvorfor? fordi alle felter, der bruges til at oprette optionssiden, begynder med en underscore _ og vil ikke blive returneret af get_fields(). Det eneste, du skal være forsigtig med, er ikke at bruge nogen af de feltnavne, der bruges af dette plugin, hvilket burde være ekstremt nemt, da de alle begynder med acfop.
Save Values Using a Custom post ID slug
Det er posible at bruge en brugerdefineret slug til at gemme options side værdier. Hvis du f.eks. ønsker at gemme værdierne på en indstillingsside til en bruger, kan du angive “user_1” som $post_id-værdien for opitonsiden. Dette har også en anden sideeffekt. Normalt, når ACF gemmer værdier til “options” i tabellen options, vil du finde felterne med præfikset “options_”. Så hvis f.eks. dit feltnavn er “my_field”, vil du i tabellen options finde “options_my_field” som optionsnavn i tabellen options. Du kan angive et brugerdefineret slug til dette, lad os sige, at du indstiller post ID-indstillingen for options-siden til “my-custom-slug”. dette ville medføre, at det samme felt på options-siden ville have navnet “my-custom-slug_my_field”. 2 Der er blevet tilføjet nye indstillinger til dette plugin, og du kan vælge at bruge indstillingssidens slug til indlægs-ID, eller du kan angive et brugerdefineret slug til brug i stedet.
Hent indlægs-ID til indstillingssiden
En funktion og et filter er tilgængelige for at få den korrekte ACF $post_id-værdi til brug for at få
-værdier fra indstillingssiden. Denne funktion/filter returnerer “options” for optionsider, der er gemt i
options, eller returnerer det korrekte postid, hvis options er gemt i et indlæg. Det korrekte ID returneres
baseret på “menu_slug”-værdien for indstillingssiden.
/ 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));
Der er en betingelse, hvor du får det forkerte indlægs-id. Denne betingelse er skabt ved at have en topniveau-omdirigeringsside, der er indstillet til at omdirigere til den første underoptionsside. Hvis der ikke findes nogen side med underordnede indstillinger, returneres værdien for den øverste indstillingsside. Hvis du senere opretter en side med underordnede indstillinger, returneres den nye værdi fra siden med underordnede indstillinger. Det er derfor, jeg har se standardværdien af redirect til false. Hvis du ønsker, at den øverste side skal omdirigere, skal du være opmærksom på, at det kan give dig problemer senere hen, hvis du ikke har oprettet en underoptionsside. Du bør også specifikt indstille rækkefølgen af underoptionssiderne, så disse ikke ændres på et tidspunkt i fremtiden, fordi tilføjelse af en ny optionsside med samme rækkefølge som den eksisterende topniveau side vil ændre save and get placering til den nye optionsside. Der er ikke noget jeg kan gøre ved dette, det er den måde det virker på. Når du opretter ACF-optionssider til at gemme til et indlæg i stedet for indstillinger, skal du være mere præcis i med argumenterne for optionssiden.
Font Awesome Support
Bemærk venligst, at dette plugin ikke enqueue eller inkluderer Font Awswsome i administratoren af dit websted.
Hvis du inkluderer Font Awsome i din admin, kan du bruge Font Awesome Icons til ikonerne på
top level options side. Hvis du f.eks. ønsker at bruge adressebogsikonet, skal du blot tilføje fa fa-address-book
i ikonfeltet, når du tilføjer eller redigerer indstillingssiden.
Version 3.8.0 af dette plugin tilføjede muligheden for at tilpasse ACF-indstillingssiden ved at tilføje header- og footer-indhold. I addtion til de WYSIWYG-felter, der er blevet tilføjet til options sidens admin editor, kan du også tilpasse disse sektioner eller hele options siden ved hjælp af filtre.
Version 3.8.2 af dette plugin tilføjer en toggle for at aktivere denne funktion. Denne funktion kan forårsage en ud af
hukommelse fatal fejl på indstillingssider, der har et stort antal felter. Hvis der blev indtastet indhold i dette felt før omskifteren til at slå til, vil omskifteren automatisk blive slået til. Ellers vil standardindstillingen for denne indstilling være slukket.
Indhold i overskriften
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;}
Indhold i footeren
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 hele indstillingssiden
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;}
Fjern Nag
Hvis du gerne vil fjerne min lille nag, der vises på nogle admin-sider, skal du tilføje følgende til din functions.php-fil
add_filter('remove_hube2_nag', '__return_true');