Beschreibung
*** Nuova funzione aggiunta: Slugs personalizzati per l’ID del post ***
Questo è un plugin aggiuntivo per Advanced Custom Fields (ACF) 5 + l’Add On della pagina delle opzioni (o ACF Pro).
Questo plugin non fornirà alcuna funzionalità a meno che non sia installato ACF 5 e l’Add On di Options Page (o ACF5 Pro)
Questo plugin fornisce un’interfaccia di amministrazione per aggiungere pagine di opzioni in ACF, comprese tutte le opzioni per le pagine di ACF
opzioni. La maggior parte delle opzioni sono selezionabili, per esempio la posizione del menu, la capacità e dove salvare i valori dei campi
.
Per maggiori informazioni vedere
Altre note e
Screenshot
Repository Github
Questo plugin è anche su GitHub
https://github.com/Hube2/acf-options-page-adder
Cambia capacità
La capacità richiesta per aggiungere/modificare le impostazioni della pagina delle opzioni è “manage_options”. Questa capacità può essere cambiata aggiungendo un filtro.
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;}
Salvare i valori nel post della pagina delle opzioni
ACF v5.2.7 ha aggiunto la possibilità di salvare i campi della pagina delle opzioni in un post ID. Questo plugin vi permetterà di salvare le opzioni allo stesso post ID del post creato quando si aggiunge una pagina di opzioni usando questo plugin. Puoi anche usare get_fields($options_page_id) senza doverti preoccupare di ottenere i campi per la pagina delle opzioni stessa. Perché? Perché tutti i campi usati per creare la pagina delle opzioni iniziano con un underscore _ e non saranno restituiti da get_fields(). L’unica cosa a cui dovete fare attenzione è di non usare nessuno dei nomi dei campi usati da questo plugin, il che dovrebbe essere estremamente facile dato che iniziano tutti con acfop.
Salvare i valori usando uno slug ID post personalizzato
È possibile usare uno slug personalizzato per salvare i valori della pagina delle opzioni. Per esempio, se vuoi salvare i valori di una pagina di opzioni per un utente puoi fornire “user_1” come valore $post_id per la pagina di opzioni. Questo ha anche un altro effetto collaterale. Normalmente, quando ACF salva i valori in “opzioni” nella tabella delle opzioni si trovano i campi con il prefisso “options_”. Così, per esempio, se il nome del tuo campo è “my_field”, nella tabella delle opzioni troverai “options_my_field” come nome delle opzioni. Puoi fornire uno slug personalizzato per questo, diciamo che hai impostato l’impostazione dell’ID del post per la pagina delle opzioni a “my-custom-slug”. questo farebbe sì che lo stesso campo nella pagina delle opzioni abbia il nome “my-custom-slug_my_field”. 2 Nuove opzioni sono state aggiunte a questo plugin e puoi scegliere di usare lo slug della pagina delle opzioni per l’ID del post oppure puoi specificare uno slug personalizzato da usare al suo posto.
Get Post ID for Options Page
Sono disponibili una funzione e un filtro per ottenere il corretto valore ACF $post_id da usare per ottenere
valori dalla pagina delle opzioni. Questa funzione/filtro restituirà ‘options’ per le pagine di opzioni memorizzate in
options o restituirà l’ID corretto del post se le opzioni sono salvate in un post. L’ID corretto viene restituito
in base al valore “menu_slug” della pagina delle opzioni.
/ 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));
C’è una condizione in cui si otterrà l’id del post sbagliato. Questa condizione è creata avendo una pagina di reindirizzamento di primo livello che è impostata per reindirizzare alla prima pagina di opzioni secondarie. Se non c’è una pagina di opzioni secondaria che esiste, allora restituirà il valore della pagina di opzioni di livello superiore. Se in seguito si crea una pagina di opzioni secondarie, essa restituirà il nuovo valore della pagina di opzioni secondarie. Questo è il motivo per cui ho visto il valore predefinito di redirect a false. Se vuoi che la pagina di livello superiore reindirizzi, devi essere consapevole del fatto che questo può causarti problemi in seguito se non hai creato una pagina di opzioni secondaria. Dovresti anche impostare specificamente l’ordine delle pagine di opzioni secondarie in modo che queste non cambino ad un certo punto nel futuro perché l’aggiunta di una nuova pagina di opzioni con lo stesso ordine della pagina di livello superiore esistente altererà il salvataggio e la posizione di get alla nuova pagina di opzioni. Non c’è niente che io possa fare per questo, è il modo in cui funziona. Quando imposti le pagine delle opzioni ACF per salvare in un post invece che nelle opzioni devi essere più preciso negli argomenti della pagina delle opzioni.
Font Awesome Support
Per favore nota che questo plugin non enqueue o include Font Awswsome nell’amministrazione del tuo sito.
Se includi Font Awsome nella tua amministrazione allora puoi usare Font Awesome Icons per le icone della
pagina delle opzioni di livello superiore. Per esempio se vuoi usare l’icona della rubrica, tutto quello che devi fare è aggiungere fa fa-address-book
nel campo Icona quando aggiungi o modifichi la pagina delle opzioni.
Filtro Opzioni Pagina Intestazione/Piè di pagina/Contenuto
La versione 3.8.0 di questo plugin ha aggiunto la possibilità di personalizzare la pagina delle opzioni ACF aggiungendo il contenuto dell’intestazione e del piè di pagina. Oltre ai campi WYSIWYG che sono stati aggiunti all’editor amministrativo della pagina delle opzioni, è possibile personalizzare queste sezioni o l’intera pagina delle opzioni usando dei filtri.
La versione 3.8.2 di questo plugin aggiunge una levetta per abilitare questa funzione. Questa funzione può causare un errore fatale di “out of
memory” sulle pagine delle opzioni che hanno un gran numero di campi. Se il contenuto è stato inserito in questo campo prima dell’attivazione del toggle, allora il toggle sarà automaticamente attivato. Altrimenti il default per questa opzione sarà off.
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;}
Filtra tutta la pagina delle opzioni
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
Se vuoi rimuovere il mio piccolo nag che appare su alcune pagine di amministrazione aggiungi il seguente al tuo file functions.php
add_filter('remove_hube2_nag', '__return_true');