Beschreibung
*** Nova funcionalidade adicionada: Post ID Slugs Personalizados ***
Esta é uma adição no plugin para Campos Personalizados Avançados (ACF) 5 + a página Options Page Add On (ou ACF Pro).
Este plugin não fornecerá nenhuma funcionalidade a menos que ACF 5 e a página Options Page Add On (ou ACF5 Pro)
esteja instalada
Este plugin fornece uma interface administrativa para adicionar páginas de opções em ACF incluindo todas as opções para páginas ACF
opções. A maioria das opções são selecionáveis, por exemplo, a localização do menu, capacidade e para onde salvar
valores de campo.
Para mais informações veja
Outras notas e
Screenshots
Repositório de Github
Este plugin também está no GitHub
https://github.com/Hube2/acf-options-page-adder>
Alterar Capacidade
A capacidade necessária para adicionar/editar opções de página é “gerenciar_opções”. Esta capacidade pode ser alterada adicionando um 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;}
Saving Values to the Options Page Post
ACF v5.2.7 adicionou a capacidade de salvar os campos da página de opções em um post ID. Este plugin permitirá que você salve as opções no mesmo post ID do post criado ao adicionar uma página de opções usando este plugin. Você pode até mesmo usar get_fields($options_page_id) sem precisar se preocupar em obter os campos para a página de opções em si. Por quê? porque todos os campos usados para criar a página de opções começam com um sublinhado _ e não serão retornados por get_fields(). A única coisa que você precisa ter cuidado é não usar nenhum dos nomes de campos usados por este plugin, o que deve ser extremamente fácil já que todos eles começam com acfop.
Saving Values Using a Custom post ID slug
É possível usar um slug personalizado para salvar os valores da página de opções. Por exemplo, se você quisesse salvar valores de uma página de opções para um usuário você poderia fornecer “user_1” como o valor $post_id para a página opitons. Isso também tem outro efeito colateral. Normalmente, quando ACF salva valores para “options” na tabela de opções você encontrará os campos com o prefixo “options_”. Então, por exemplo, se o nome do seu campo for “my_field” então na tabela de opções você encontrará “options_my_field” como o nome das opções. Você pode fornecer um slug personalizado para isso, digamos que você defina a configuração de ID do post para a página de opções para “my-custom-slug”. isso faria com que o mesmo campo na página de opções tivesse o nome “my-custom-slug_my_field”. 2 Novas opções foram adicionadas a este plugin e você pode escolher usar o slug da página de opções para o ID do post ou você pode especificar um slug personalizado para usar em seu lugar.
Get Post ID for Options Page
A function and a filter are available for getting the correct ACF $post_id value to use for getting
values from the options page. Esta função/filtro retornará ‘options’ para páginas de opções armazenadas em
options ou retornará o post ID correto se as opções forem salvas em um post. O ID correto é retornado
baseado no valor “menu_slug” da página de opções.
/ 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));
Existe uma condição onde você obterá o id incorreto do post. Esta condição é criada tendo uma página de redirecionamento de nível superior que é definida para redirecionar para a primeira página de subopções. Se não houver uma página de subopções que exista, então ele retornará o valor para a página de opções de nível superior. Se posteriormente você criar uma página de subopções, ela retornará o novo valor a partir da página de subopções. É por isso que eu vi o valor padrão de redirecionar para falso. Se você quiser que a página de nível superior seja redirecionada para a página de nível superior, você precisa estar ciente de que isso pode causar problemas mais tarde, caso você não tenha criado uma página de subopções. Você também deve definir especificamente a ordem das páginas de subopções para que elas não mudem em algum momento no futuro, porque adicionar uma nova página de opções com a mesma ordem que a página de nível superior existente irá alterar a página de salvar e obter a localização para a nova página de opções. Há uma observação que posso fazer sobre isso, é a forma como funciona. Ao configurar as páginas de opções ACF para salvar em um post ao invés de opções você deve ser mais preciso com os argumentos da página de opções.
Font Awesome Support
Por favor note que este plugin não pergunta ou inclui o Font Awsome no administrador do seu site.
Se você incluir o Font Awsome no seu administrador então você pode usar os ícones do Font Awesome Icons para os ícones da página de opções de nível superior
. Por exemplo, se você quiser usar o Ícone do Livro de Endereços então tudo que você precisa fazer é adicionar fa fa-address-book
no campo Ícone ao adicionar ou editar a página de opções.
Version 3.8.0 deste plugin adicionou a capacidade de personalizar a página de opções ACF adicionando conteúdo de cabeçalho e rodapé. Em adição aos campos WYSIWYG que foram adicionados ao editor admin da página de opções você também pode personalizar estas seções, ou a página inteira de opções usando filtros.
Version 3.8.2 deste plugin adiciona uma alternância para habilitar este recurso. Este recurso pode causar um erro fatal de
memory nas páginas de opções que têm um grande número de campos. Se o conteúdo foi inserido neste campo antes da comutação para ativar, então a comutação será ativada automaticamente. Caso contrário o padrão para esta opção será desligado.
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;}
Remover Nag
Se você quiser remover o meu pequeno nag que aparece em algumas páginas de administração adicione o seguinte ao seu arquivo functions.php
add_filter('remove_hube2_nag', '__return_true');