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

Listagem e Detalhes de Posts WordPress com API REST no Next.js

Listagem de Posts e Roteamento Dinâmico no Next.js

Aprenda a listar e mostrar detalhes de posts do WordPress no Next.js, usando a REST API e App Router, com dicas práticas e código atualizado

Frontend com Next.js - Setup e Integração Inicial com WordPress

Frontend com Next.js: Setup e Integração Inicial

Configure Next.js com TypeScript, Tailwind e App Router, e integre a REST API do WordPress para criar um site headless rápido e moderno

Configurando o WordPress como Backend Headless

Configurando o WordPress como Backend Headless

Aprenda como configurar o WordPress para atuar como backend headless, com REST API, CORS, autenticação e mais

REST API do WordPress

REST API do WordPress: Visão Geral

Descubra como funciona a REST API do WordPress, com estrutura de endpoints, permissões e como integrá-la com React ou Next.js.

Introdução ao WordPress Headless

Introdução ao WordPress Headless

Como Distribuir Seus Blocos Gutenberg em Plugins ou no GitHub

Distribuindo Seus Blocos: Plugins, Repositório e GitHub

Aprenda a empacotar e distribuir seus blocos personalizados como um plugin WordPress completo, pronto para produção, GitHub e WordPress.org

Comentários

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!