ACF: Exibindo Lista de Valores para Checkbox

Este snippet de código cria um shortcode personalizado no WordPress para exibir valores de campos de checkbox do Advanced Custom Fields (ACF) em posts ou páginas. O shortcode gerará uma lista não ordenada (<ul>) com os valores selecionados dos campos de checkbox.

0
				
					function acf_custom_checkbox_shortcode($atts) {
    $atts = shortcode_atts(array(
        'field' => '',
        'post_id' => false,
    ), $atts, 'acf_checkbox');

    $field = $atts['field'];
    $post_id = $atts['post_id'];
    
    if (!$field) {
        return 'Campo não especificado.';
    }
    
    $values = get_field($field, $post_id);
    
    if ($values) {
        $output = '<ul>';
        foreach ($values as $value) {
            $output .= '<li>' . esc_html($value) . '</li>';
        }
        $output .= '</ul>';
    } else {
        $output = 'Nenhum valor selecionado.';
    }
    
    return $output;
}
add_shortcode('acf_checkbox', 'acf_custom_checkbox_shortcode');
				
			

Quer ajuda de um especialista para implementar?

Instruções de Uso

Como funciona:

  1. Definição da Função:
    • function acf_custom_checkbox_shortcode($atts) { ... }: Define a função acf_custom_checkbox_shortcode que será chamada quando o shortcode for usado.
  2. Atributos do Shortcode:
    • $atts = shortcode_atts(array(...), $atts, 'acf_checkbox');: Define os atributos padrão do shortcode e mescla com os atributos fornecidos pelo usuário.
      • 'field' => '': Nome do campo ACF.
      • 'post_id' => false: ID do post. Se não especificado, usará o post atual.
  3. Verificação do Campo:
    • if (!$field) { return 'Campo não especificado.'; }: Verifica se o atributo ‘field’ foi especificado. Se não, retorna uma mensagem de erro.
  4. Obtenção dos Valores:
    • $values = get_field($field, $post_id);: Usa a função get_field do ACF para obter os valores do campo especificado. Se $post_id for falso, usará o post atual.
  5. Geração do Output:
    • if ($values) { ... } else { ... }: Verifica se há valores retornados pelo campo.
      • Se houver valores:
        • $output = '<ul>';: Inicia uma lista não ordenada.
        • foreach ($values as $value) { $output .= '<li>' . esc_html($value) . '</li>'; }: Adiciona cada valor como um item da lista, escapando o valor com esc_html para segurança.
        • $output .= '</ul>';: Fecha a lista não ordenada.
      • Se não houver valores:
        • $output = 'Nenhum valor selecionado.';: Retorna uma mensagem indicando que nenhum valor foi selecionado.
  6. Retorno do Output:
    • return $output;: Retorna o HTML gerado para ser exibido no local onde o shortcode foi usado.
  7. Registro do Shortcode:
    • add_shortcode('acf_checkbox', 'acf_custom_checkbox_shortcode');: Registra o shortcode [acf_checkbox] no WordPress, associando-o à função acf_custom_checkbox_shortcode.

Instruções de Uso

Esse código pode ser usado adicionando-o ao arquivo functions.php do seu tema ou, preferencialmente, em um plugin específico para o site.

Para usar o shortcode em uma postagem ou página, você deve especificar o nome do campo ACF e, opcionalmente, o ID do post:

[acf_checkbox field="nome_do_campo" post_id="123"]
  • field: Nome do campo de checkbox ACF que você deseja exibir.
  • post_id: (Opcional) ID do post do qual você deseja obter os valores do campo. Se não for especificado, usará o post atual.

Conclusão

Este snippet permite que você crie um shortcode para exibir valores de campos de checkbox do ACF em seu conteúdo do WordPress.

É uma maneira conveniente de apresentar dados personalizados de maneira organizada e estilizada.

Outros Snippets

WooCommerce
Este snippet cria um shortcode que exibe os detalhes de uma reserva do WooCommerce com base no ID do pedido fornecido na URL.
WordPress
Este snippet redireciona todos os visitantes do site que não estejam logados para uma página específica (não a página de login).
WordPress
Este snippet redireciona todos os visitantes do site que não estejam logados para a página de login do WordPress. Isso é útil se você deseja restringir o acesso ao conteúdo do seu site apenas para usuários autenticados.

Últimos Posts

Como configurar uma tarefa cron no servidor para executar o wp-cron.php

Como configurar uma tarefa cron no servidor para executar o wp-cron.php?

Configurações Essenciais para um Ambiente Avançado no WordPress

Configurações Essenciais para um Ambiente Avançado no WordPress

Configuração Avançada de Ambiente de Desenvolvimento para WordPress

Configuração Avançada de Ambiente de Desenvolvimento para WordPress

Diferenças entre Temas, Plugins, Widgets e Custom Post Types no WordPress

Diferenças entre Temas, Plugins, Widgets e Custom Post Types no WordPress

Como Resolver o Erro “register_rest_route foi chamada incorretamente” no WordPress

Se você trabalha com APIs REST no WordPress, pode ter encontrado o aviso: “A função register_rest_route foi chamada incorretamente”.

PHP Notice: Function _load_textdomain_just_in_time was called incorrectly (RESOLVIDO)

PHP Notice: Function _load_textdomain_just_in_time was called incorrectly (RESOLVIDO)

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Você precisa estar logado para ver esta informação.

Adicione seu Snippet

Título *
Resumo *
Descrição Completa *
Código *
Instruções de uso *

Solicitar Orçamento

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!