Dodaj wyróżniony obraz w pojedynczych postach

Opublikowany: 2013-10-10

Twój wyróżniony obraz w archiwum (Miniatura posta) zostanie pobrany z wyróżnionego obrazu niezależnie od tego, jak dodasz go na ekranie Edytuj post.

Obraz wyświetlany przed lub po tytule wpisu pojedynczego wpisu jest pobierany z pierwszego obrazu, który wstawiasz do posta, chyba że go usuniesz.

Możesz usunąć lub zmodyfikować kod, który wyświetla obraz przed lub po tytułach pojedynczego wpisu, korzystając z jednego z fragmentów kodu na tej stronie.

Jeśli dodasz obraz jako polecany obraz, będzie on wyświetlany w Twoich archiwach jako miniatura posta, a nie jako polecany obraz po tytule pojedynczego posta.

Jeśli nie dodasz wyróżnionego obrazu, pierwszy obraz w Twoim poście będzie wyświetlany przed lub po tytułach pojedynczego wpisu, a także na stronach archiwum.

W tym poście przedstawię Ci kilka linijek kodu PHP, który możesz po prostu wkleić na końcu pliku z motywami potomnymi functions.php.

Kod umożliwi Ci wyświetlenie obrazu Twojego posta przed lub po tytule w pojedynczych postach.

opublikuj obraz przed pojedynczym tytułem

Dan zadał ostatnio to pytanie:

Przeszukiwałem mój mózg, szukając, używając innego kodu znalezionego na tym forum i zaowocowało to utworzeniem nowego posta.

Używając Minimum Pro, chciałbym po prostu wyświetlić wyróżniony obraz posta na stronie „pojedynczego posta”. Najlepiej nad treścią tekstu. Znalazłem kod na tym forum i umieściłem go w functions.php. Wyświetla polecany obraz, ale jednocześnie usuwa zawartość tekstową. Więc oczywiście robię coś złego.

Uwaga: Użyj ostatniego fragmentu kodu PHP w tym poście, jeśli używasz starego znacznika XHTML, a nie HTML 5, ponieważ zaczepy uległy zmianie.

Wyświetl polecany obraz po tytule

Ten kod wyświetla obraz po tytule pojedynczego posta.

 add_action( 'genesis_entry_header', 'single_post_featured_image', 15 ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }

Wyświetl polecany obraz przed tytułem

Ten kod wyświetla obraz przed tytułem pojedynczego posta.

 add_action( 'genesis_entry_header', 'single_post_featured_image', 5 ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }

Wyświetlaj wyróżniony obraz na stronach statycznych

Jeśli chcesz, aby to działało również dla statycznych pojedynczych stron, po prostu dodaj stronę do kodu w następujący sposób:

 add_action( 'genesis_entry_header', 'single_post_featured_image', 5 ); function single_post_featured_image() { if ( ! is_singular( 'page' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }

Wyświetlaj wyróżniony obraz na statycznych stronach i pojedynczych postach

Jeśli chcesz, aby to działało również dla statycznych stron i postów, po prostu dodaj stronę do kodu w ten sposób:

 add_action( 'genesis_entry_header', 'single_post_featured_image', 5 ); function single_post_featured_image() { if ( ! is_singular() ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }

Pozycję wyświetlaną przez wyróżniony obraz można określić za pomocą trzeciego parametru priorytetu pozycjonowania.

W powyższym kodzie to po prostu kwestia zmiany trzeciego parametru z 5 na 15.

Zmień rozmiar obrazu

Oto przykład użycia dużego rozmiaru zgodnie z ustawieniami multimediów.

 add_action( 'genesis_entry_header', 'single_post_featured_image', 15 ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => 'large', 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }

Możesz także użyć dowolnego z innych domyślnych rozmiarów skonfigurowanych w Ustawienia > Media.

  • Miniaturka
  • średni
  • wielki
  • pełny

Możesz także użyć dowolnych rozmiarów niestandardowych dodanych w pliku funkcji.

Przykład:

teczka

 add_image_size( 'portfolio', 540, 340, TRUE );

Używanie starych hooków pętli XHTML

Jeśli nadal używasz XHTML i nie przekonwertowałeś jeszcze do HTML 5, będziesz musiał użyć starych Loop Hooks:

 add_action( 'genesis_before_post_title', 'single_post_featured_image' ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }

Dodawanie spacji między tytułem a obrazem

Oto przykładowy kod CSS, który możesz dodać na końcu pliku style.css motywów podrzędnych przed kodem zapytań o media, który dodaje margines między wyróżnionym obrazem a tytułem wpisu w pojedynczych postach.

 .single .post-image { margin-bottom: 30px; }

Użyj tego przykładu dla stron:

 .page .post-image { margin-bottom: 30px; }

Wyrównaj wyróżniony obraz (po obrazie) w prawo

Możesz także wyrównać obrazy postów do prawej strony.

Po prostu dodaj ten kod CSS przed zapytaniami o media pod koniec pliku style.css motywów podrzędnych:

 .single .post-image { float:right; margin:0 0 1em 1em; width: 285px; height: 285px; }

Powyższy kod spowoduje wyrównanie obrazu, który dodasz jako polecany obraz we wszystkich pojedynczych postach po prawej stronie treści, tak aby jego tekst był zawinięty w następujący sposób:

opublikuj obraz

Możesz również dodać klasę alignright do kodu PHP zamiast używać CSS.

 'class' => 'alignright'

Po prostu zamień post-image w kodzie PHP na alignright, a tekst zawinie się wokół obrazu po prawej stronie treści.

Wyrównaj wyróżniony obraz (post-obraz) do lewej

Możesz także wyrównać polecane obrazy pojedynczych postów do lewej strony.

 .single .post-image { float:left; margin: 1em 1em 0 0; width: 200px; height: 200px; }

A oto wynik:

unosić się w lewo

Możesz również dodać klasę alignleft do kodu PHP zamiast używać CSS.

 'class' => 'alignleft'

Po prostu zamień post-image w kodzie PHP na alignleft, a tekst zawinie się wokół obrazu po lewej stronie treści.

Uwaga : ten kod CSS dotyczy motywów potomnych Genesis 2.0 HTML 5 i może nie działać z innymi motywami, które używają innej klasy dla obrazów postów/polecanych obrazów.

Usuń link a href z polecanego obrazu

Członek zapytał mnie, jak usunąć link z kodu, więc oto jest:

Po prostu zastąp tę część kodu:

 $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img );

Z tym:

 $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); echo $img;

powiązane posty

  • 2 sposoby korzystania z różnych polecanych obrazów dla pojedynczych postów i stron archiwum
  • Tytuł wpisu nad polecanym obrazem w pojedynczych postach
  • Pole wyboru, aby dodać lub usunąć wyróżniony obraz w poszczególnych postach lub stronach
  • Połącz wyróżniony obraz z niestandardowym adresem URL
  • Dostosuj wyświetlanie polecanych obrazów w pojedynczych postach
  • Dodaj wyróżniony obraz przed treścią w dowolnym motywie
  • Ustaw polecany obraz zastępczy dla każdej kategorii