Advanced Custom Fields

have_rows()

Esta função verifica se o campo (repetidor ou conteúdo flexível) tem quaisquer linhas de dados para executar um loop. Esta é uma função booleana, ou seja, ele retorna VERDADEIRO ou FALSO.

Esta função é uma substituição para a função has_sub_field, no entanto, tem algumas diferenças pequenas mas significativas. A principal diferença é que esta função não percorre as linhas por si só, por isso, para percorrer as linhas, você também deve usar a função the_row.

Utilizar have_rows e the_rows juntos segue a mesma lógica de usar have_posts e the_post no Loop padrão do WP.

Parâmetros

<?php have_rows($field_name, $post_id); ?>
  • $field_name: nome do campo repetidor / conteúdo flexível (obrigatório)
  • $post_id: Especifica o ID do post  onde o seu valor foi digitado. O padrão é pegar o do post atual, do loop que você está. Você também pode passar ID de uma página de opções, taxonomias, usuários, etc. (opcional)

Como utilizar

Loop Básico

<?php
if( have_rows('parent_field') ):
    while ( have_rows('parent_field') ) : the_row();
        // Your loop code
        the_sub_field('sub_field');
    endwhile;
else :
    // no rows found
endif; 
?>

Loop para um Campo Repetidor

<?php
if( have_rows('repeater') ): ?>
    <ul class="slides">
        <?php while( have_rows('repeater') ): the_row(); 
 	    $image = get_sub_field('image');
	?>
	    <li class="slide">
	        <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />
	        <p class="caption"><?php the_sub_field('caption'); ?></p>
	    </li>
	<?php endwhile; ?>
    </ul>
<?php endif; ?>

Loop para um campo de conteúdo flexível

<?php if( have_rows('flexible_content') ): ?>
<ul class="slides">
    <?php while( have_rows('flexible_content') ): the_row(); ?>
        <li class="slide">
	    <?php if( get_row_layout() == 'image_slide' ): 
	        $image = get_sub_field('image'); ?>
	        <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />
	    <?php elseif(get_row_layout() == 'video_slide' ):
	        the_sub_field('iframe');
  	    endif; ?>
	</li>
    <?php endwhile; ?>
</ul>
<?php endif; ?>

Loop Aninhados

Este exemplo mostra um campo repetidor (locations) que contém um título, descrição e um outro campo repetidor dentro dele (staff_members) contendo membros da equipe.

have_rows function irá  detectar a troca de $field_name e iniciar um novo loop instantâneamente!

<?php // test loop #1
if( have_rows('locations') ): ?>
    <div class="locations">
    <?php // loop #1
    while( have_rows('locations') ): the_row(); ?>
        <div class="location">
	    <h3><?php the_sub_field('title'); ?></h3>
	    <p><?php the_sub_field('description'); ?></p>
	    <?php // loop #2 (aninhado)
	        <?php if( have_rows('staff_members') ): ?>
		    <ul class="staff-members">
		        <?php while( have_rows('staff_members') ): the_row();
  		        $image = get_sub_field('image'); ?>
			<li>
			    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />
			    <h4><?php the_sub_field('name'); ?></h4>
			</li>
 		       <?php endwhile; ?>
   	           </ul>
	       <?php endif; ?>
	    </div>
	<?php endwhile; ?>
    </div>
<?php endif; ?>

Posts Similares

  • Campo de Editor WYSIWYG

    O Campo Editor Wysiwyg cria uma área de conteúdo com todos os recursos do tinyMCE. Este campo é muito útil quando você precisa criar áreas separadas de conteúdo em um determinado custom post type ou post, segmentando melhor seu conteúdo. O Editor Wysiwyg não trará as abas “Visual / Texto” como o editor padrão do WordPress….

  • Função get_field() – Advanced Custom Fields

    Função get_field() – Advanced Custom Fields

    A função get_field retorna o valor de um dado campo, e você pode usá-lo para armazenar um valorem uma variável ou imprimir um valor com `echo`, embora para isso a the_field seja mais indicada. Note que o tipo de variável retornado é relativo ao tipo de campo. Por exemplo: Um repetidor irá retornar um array…

  • Instalando o Advanced Custom Fields

    Instalando o Advanced Custom Fields

    A instalação do Advanced Custom Fields não tem nenhum mistério e segue o mesmo padrão de instalação de qualquer outro plugin comum. Mesmo assim, é sempre bom ter um passo a passo publicado, certo?

  • Campo de Mapa (Google Maps)

    Campo de Mapa (Google Maps)

    O campo Google Map fornece uma interface de mapa interativa para selecionar um local. Este tipo de campo usa a API Javascript do Google Maps para fornecer pesquisa de preenchimento automático, pesquisa de geocodificação reversa e um marcador interativo. Campos adicionais deste tipo de campo Requisitos Para usar a API JavaScript do Google Maps, você…

  • Shortcode do ACF

    Shortcode do ACF

    O Shortcode do ACF pode ser utilizado em sua postagem para exibir o valor de um campo personalizado simples, como o de texto. Se você não sabe o que é um shortcode, recomendamos a leitura da documentação oficial do WordPress, no Codex. Requisitos ACF v3.1.1 ou superior Como Utilizar Place the shortcode marker with the desired field within your…

  • Campo Verdadeiro ou Falso (booleano)

    O campo Verdadeiro ou Falso cria um seletor com estas duas opções, onde 1 é verdadeiro e 0 é falso. Campos adicionais deste tipo de campo Mensagem: Texto descritivo exibido perto do checkbox. Valor padrão: você pode definir se o valor padrão será verdadeiro ou falso. Como utilizar este campo em um template WP? A API…

Deixe um comentário

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