Como funciona:
- Definição da Função:
function acf_custom_checkbox_shortcode($atts) { ... }
: Define a funçãoacf_custom_checkbox_shortcode
que será chamada quando o shortcode for usado.
- 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.
- 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.
- Obtenção dos Valores:
$values = get_field($field, $post_id);
: Usa a funçãoget_field
do ACF para obter os valores do campo especificado. Se$post_id
for falso, usará o post atual.
- 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 comesc_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.
- Se houver valores:
- Retorno do Output:
return $output;
: Retorna o HTML gerado para ser exibido no local onde o shortcode foi usado.
- Registro do Shortcode:
add_shortcode('acf_checkbox', 'acf_custom_checkbox_shortcode');
: Registra o shortcode[acf_checkbox]
no WordPress, associando-o à funçãoacf_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.