Como mostrar apenas o primeiro elemento em um ciclo?

  • Autor Autor NetReyes
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
N

NetReyes

Eta
No recomendado
Hola,

Bueno chicos e estado modificando un plugin gratuito que me encontre en la red para mostrar imagenes, aunque ya me falta poco, les pregunto como mostrar solo el primer elemento de un foreach, por lo que e leido es parecido a un for.

Este es el codigo, espero me puedan ayudar un poco.

Inserir CODE, HTML ou PHP:
    <?php $attachID = (get_post_meta( $post->ID, 'custom_imagenrepetible', true ));
    if($attachID){
    foreach($attachID as $item){
                 
        $imagen = wp_get_attachment_image_src($item, 'full');
        $alt = get_post_meta($item, '_wp_attachment_image_alt', true);
        $descripcion = get_post_field('post_content', $item);
        $idfoto = "document.getElementById('id-fotos')";
                    
        echo '<img src="' . $imagen[0] . '"  onclick="'. $idfoto.'.src = this.src;"';
        echo ' />';
    }
    }
    ?>
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
No estoy seguro pero cfreo que así:
PHP:
<?php $attachID = (get_post_meta( $post->ID, 'custom_imagenrepetible', true ));
    if($attachID){
    foreach($attachID as $item){
                 
        $imagen = wp_get_attachment_image_src($item, 'full');
        $alt = get_post_meta($item, '_wp_attachment_image_alt', true);
        $descripcion = get_post_field('post_content', $item);
        $idfoto = "document.getElementById('id-fotos')";
                    
        echo '<img src="' . $imagen[0] . '"  onclick="'. $idfoto.'.src = this.src;"';
        echo ' />';
        exit;
    }
    }
    ?>
 
No estoy seguro pero cfreo que así:
PHP:
<?php $attachID = (get_post_meta( $post->ID, 'custom_imagenrepetible', true ));
    if($attachID){
    foreach($attachID as $item){
                 
        $imagen = wp_get_attachment_image_src($item, 'full');
        $alt = get_post_meta($item, '_wp_attachment_image_alt', true);
        $descripcion = get_post_field('post_content', $item);
        $idfoto = "document.getElementById('id-fotos')";
                    
        echo '<img src="' . $imagen[0] . '"  onclick="'. $idfoto.'.src = this.src;"';
        echo ' />';
        exit;
    }
    }
    ?>

No funciona, me desconfigura mi theme en wordpress. Puede ser que la estructura se encuentra mal. Alguien mas me puede echar una mano.

- - - Actualizado - - -
[MENTION=81006]kanikase[/MENTION] Me diste la solucion, en lugar de:

HTML:
exit;

Inserir CODE, HTML ou PHP:
[COLOR=#000000][COLOR=#007700]break;[/COLOR][/COLOR]
 
No funciona, me desconfigura mi theme en wordpress. Puede ser que la estructura se encuentra mal. Alguien mas me puede echar una mano.

Prueba esto XD

PHP:
<?php
$attachID = (get_post_meta( $post->ID, 'custom_imagenrepetible', true ));
$numero = 0;
if($attachID){
foreach($attachID as $item){
$imagen = wp_get_attachment_image_src($item, 'full');
$alt = get_post_meta($item, '_wp_attachment_image_alt', true);
$descripcion = get_post_field('post_content', $item);
$idfoto = "document.getElementById('id-fotos')";
if($numero != 1) {
echo '<img src="' . $imagen[0] . '"  onclick="'. $idfoto.'.src = this.src;"';
echo ' />';
$numero++;
}
}
}
?>
 
Hola [MENTION=81006]kanikase[/MENTION], disculpa si me tomo el atrevimiento para etiquetar para que me ayudes.

Gracias a ti, e logrado hacer mostrar el primer elemento, ahora como puedo hacer para que se muestren elementos de acuerdo a el numero de elementos que se encuentran en foreach, ademas haga primero una desicion si se tiene una imagen de los contrario mandar error. Estoy pensado en algo como esto pero no me cuenta los elementos, ose no entrar
HTML:
if($numero==2){
o if
HTML:
($numero==3)

Este es el codigo, tengo algun error.

HTML:
    <?php
    $attachID = (get_post_meta( $post->ID, 'custom_imagenrepetible', true ));
    
    $numero = 0;
    foreach($attachID as $item){
                 
        $imagen = wp_get_attachment_image_src($item, 'full');
        $alt = get_post_meta($item, '_wp_attachment_image_alt', true);
        $descripcion = get_post_field('post_content', $item);
        $idfoto = "document.getElementById('id-fotos')";
             
        if($imagen)
        {    
        
            echo '<img src="' . $imagen[0] . '"  onclick="'. $idfoto.'.src = this.src;"';
            echo ' />';
            
            if($numero==2){
                echo 'Numero 2. Elemetos';
            }
            if ($numero==3)
            {
                echo 'Numero 3. Elemetos';
            }
        
        }
        else
        {   
        echo 'Error.';
        }
    
        $numero++;
    }
    
    ?>
 
Voltar
Topo