Wsparcie » Wtyczki » Obrazki z opisem

  • Rozwiązano mastermaciek

    (@mastermaciek)


    Witam. Chciałbym dokonać pewnej modyfikacji, ale nie wychodzi mi to zbyt dobrze.

    Chodzi mianowicie o wyświetlenie obrazka w treści strony z jego opisem oraz tekstem alternatywnym.

    Na tej stronie chciałbym to uzyskać http://www.cama.camastudio.eu

    Są to pojedyncze obrazki wyrównane do lewej z opcją Caption np.

    [caption id="attachment_61" align="alignleft" width="320"]<img class=”wp-image-61 size-full” title=”jakis” src=”http://www.cama.camastudio.eu/wp-content/uploads/2014/05/gum_food_mini.jpg&#8221; alt=”sbsbsbsbs” width=”320″ height=”265″ /> Projekt identyfikacji wizualnej, katalogu produktów oraz strony internetowej.[/caption]

    W sekcji Portfolio widać obrazki, pod nimi ich opis. Zamiast słowa Portfolio chciałbym wyświetlić najlepiej alternatywny tekst, który jest dodany do obrazka.

    Działam na pliku media.php, ale za cholerę nie potrafię wyciągnąć alt obrazka, chociaż znalazłem wiele tematów na ten temat, to nic nie działa. W źródle strony widać alt wpisany w opcjach obrazka.

    Po prostu chcę wykorzystać tę wartość do wyświetlenia tytułu danego portfolio.

    Gdyby ktoś miał jakiś pomysł, to byłbym wdzięczny za pomoc.

    Chyba że ktoś zna wtyczkę, która tutaj mogłaby wyświetlić taką galerię z opisem, tytułem i linkiem do podstrony.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Pliku media.php nie ruszaj!

    Od tego masz filtr img_caption_shortcode
    Alta możesz sobie tam wyciągnąć z obrazka choćby wyrażeniem regularnym.

    Thread Starter mastermaciek

    (@mastermaciek)

    Ale caption wyświetlane jest z media.php

    Gdzie mam ten kod zastosować?

    I jak wyciągnąć tego alta, bo próbowałem na różne sposoby :/

    Poczytaj sobie najpierw o akcjach i filtrach, bo zostały stworzone właśnie po to by nie grzebać tam gdzie nie należy grzebać.

    Wstawić należy np. w pliku functions.php motywu.

    Tutaj masz przykładzik

    add_filter( 'img_caption_shortcode', 'add_alt_caption', 10, 3 );
    
    function add_alt_caption( $output, $attr, $content ) {
    	if ( is_feed() ) return $output;
    
    	$defaults = array(
    		'id' => '',
    		'align' => 'alignnone',
    		'width' => '',
    		'caption' => ''
    	);
    
    	$isalt = preg_match('#alt="([^"]+)"#is', $content, $alt); //tutaj wyciągasz alta
    
    	$attr = shortcode_atts( $defaults, $attr );
    
    	if ( 1 > $attr['width'] || empty( $attr['caption'] ) ) return $content;
    
    	$attributes = ( !empty( $attr['id'] ) ? ' id="' . esc_attr( $attr['id'] ) . '"' : '' );
    	$attributes .= ' class="wp-caption ' . esc_attr( $attr['align'] ) . '"';
    	$attributes .= ' style="width: ' . esc_attr( $attr['width'] ) . 'px"';
    
    	$output = '<div' . $attributes .'>';
    
    	$output .= do_shortcode( $content );
    	if($isalt) $output .= '<h3>'.$alt[1].'</h3>'; //tutaj wstawiasz alta -jeżeli został zdefiniowany
    	$output .= '<p class="wp-caption-text">' . $attr['caption'] . '</p>';
    	$output .= '</div>';
    
    	return $output;
    }

    Thread Starter mastermaciek

    (@mastermaciek)

    To nie przykładzik, tylko rozwiązanie 😛

    Dzięki wielkie !!!

Viewing 4 replies - 1 through 4 (of 4 total)
  • Temat ‘Obrazki z opisem’ jest zamknięty na nowe odpowiedzi.