¿Cómo mostrar solo el primer elemento en un ciclo?

  • Autor Autor NetReyes
  • Fecha de inicio Fecha de inicio
N

NetReyes

Eta
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.

Insertar CODE, HTML o 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 ' />';
    }
    }
    ?>
 
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;

Insertar CODE, HTML o 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++;
    }
    
    ?>
 
Atrás
Arriba