Beschreibung
*** Nieuwe functie toegevoegd: Custom Post ID Slugs ***
Dit is een add on plugin voor Advanced Custom Fields (ACF) 5 + de Options Page Add On (of ACF Pro).
Deze plugin zal geen functionaliteit bieden tenzij ACF 5 en de Options Page Add On (of ACF5 Pro)
is geinstalleerd
Deze plugin biedt een admin interface voor het toevoegen van opties pagina’s in ACF inclusief alle opties voor ACF
opties pagina’s. De meeste opties zijn selecteerbaar, bijvoorbeeld de menu locatie, mogelijkheden en waar de
veld waarden op te slaan.
Voor meer informatie zie
Andere opmerkingen en
Screenshots
Github Repository
Deze plugin staat ook op GitHub
https://github.com/Hube2/acf-options-page-adder
Veranderingsmogelijkheid
De mogelijkheid die nodig is om instellingen voor optiepagina’s toe te voegen/te bewerken is “manage_options”. Deze mogelijkheid kan worden gewijzigd door een filter toe te voegen.
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;}
Waarden opslaan in de Optiepagina Post
ACF v5.2.7 heeft de mogelijkheid toegevoegd om velden van de optiepagina op te slaan in een post-ID. Deze plugin zal u toelaten om de opties op te slaan in dezelfde post ID van de post die gemaakt is bij het toevoegen van een optie pagina met behulp van deze plugin. U kunt zelfs get_fields($options_page_id) gebruiken zonder dat u zich zorgen hoeft te maken over het verkrijgen van de velden voor de opties pagina zelf. Waarom? Omdat alle velden die gebruikt worden voor het maken van de opties pagina beginnen met een underscore _ en niet zullen worden geretourneerd door get_fields(). Het enige waar u op moet letten is dat u geen veldnamen gebruikt die door deze plugin worden gebruikt, wat erg gemakkelijk zou moeten zijn omdat ze allemaal beginnen met acfop.
Waarden opslaan met een aangepaste post ID slug
Het is mogelijk om een aangepaste slug te gebruiken voor het opslaan van de waarden van de optiepagina. Als u bijvoorbeeld de waarden van een optiepagina wilt opslaan voor een gebruiker, kunt u “user_1” opgeven als $post_id waarde voor de opitons pagina. Dit heeft ook een ander neveneffect. Normaal, wanneer ACF waarden opslaat in “options” in de options tabel zal je de velden vinden met de “options_” prefix. Dus bijvoorbeeld, als je veldnaam “mijn_veld” is, dan zul je in de opties tabel “opties_mijn_veld” vinden als de opties naam. U kunt een aangepaste slug opgeven voor dit, laten we zeggen dat u de post ID instelling voor de opties pagina op “mijn-custom-slug” zet. dit zou ervoor zorgen dat hetzelfde veld in de opties pagina de naam “mijn-custom-slug_mijn_veld” krijgt. 2 Nieuwe opties zijn toegevoegd aan deze plugin en u kunt kiezen om de options page slug te gebruiken voor de post ID of u kunt een custom slug opgeven om in plaats daarvan te gebruiken.
Get Post ID for Options Page
Een functie en een filter zijn beschikbaar voor het verkrijgen van de juiste ACF $post_id waarde om te gebruiken voor het verkrijgen van
waarden van de options page. Deze functie/filter zal ‘options’ teruggeven voor optiepagina’s opgeslagen in
options of zal de juiste post ID teruggeven indien opties zijn opgeslagen in een post. De juiste ID wordt geretourneerd
gebaseerd op de “menu_slug” waarde van de opties pagina.
/ 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));
Er is een conditie waar je de onjuiste post id krijgt. Deze voorwaarde wordt gecreëerd door het hebben van een top level redirect pagina die is ingesteld om door te verwijzen naar de eerste subopties pagina. Als er geen subopties pagina bestaat dan zal het de waarde voor de topniveau opties pagina teruggeven. Als u later een subopties pagina aanmaakt, dan zal het de nieuwe waarde van de subopties pagina teruggeven. Dit is waarom ik de standaard waarde van redirect op false heb gezet. Als u wilt dat de top level pagina omleidt, dan moet u er rekening mee houden dat dit later problemen kan opleveren als u geen sub optie pagina heeft aangemaakt. U moet ook specifiek de volgorde van subopties pagina’s zo instellen dat deze niet veranderen op een bepaald punt in de toekomst omdat het toevoegen van een nieuwe opties pagina met dezelfde volgorde als de bestaande top-niveau pagina de save en get locatie naar de nieuwe opties pagina zal veranderen. Ik kan hier niets aan doen, het is zoals het werkt. Bij het opzetten van ACF opties pagina’s op te slaan op een post in plaats van opties moet u nauwkeuriger in met de opties pagina argumenten.
Font Awesome Support
Let op dat deze plugin niet enqueue of opgenomen Font Awsome in de admin van uw site.
Als u opgenomen Font Awsome in uw admin dan kunt u Font Awesome pictogrammen te gebruiken voor de pictogrammen van
top level opties pagina. Als u bijvoorbeeld het Adresboek Icoon wilt gebruiken, dan hoeft u alleen maar fa fa-address-book
toe te voegen aan het Icoon veld bij het toevoegen of bewerken van de opties page.
Versie 3.8.0 van deze plugin voegde de mogelijkheid toe om de ACF opties page aan te passen door het toevoegen van header en footer content. In aanvulling op de WYSIWYG velden die zijn toegevoegd aan de opties pagina admin editor kunt u ook deze secties aanpassen, of de gehele opties pagina met behulp van filters.
Versie 3.8.2 van deze plugin voegt een toggle toe om deze functie in te schakelen. Deze functie kan een fatale
fout in het geheugen veroorzaken op optie pagina’s met een groot aantal velden. Als er inhoud in dit veld is ingevoerd voordat de toggle is aangezet, dan zal de toggle automatisch worden aangezet. Anders staat deze optie standaard uit.
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
Als u mijn kleine zeur die op sommige admin pagina’s verschijnt wilt verwijderen, voeg dan het volgende toe aan uw functions.php bestand
add_filter('remove_hube2_nag', '__return_true');