Wie erhalte ich eine Galerie-Thumbnail-URL und ändere die Standard-Thumbnail-Größe?

Wenn ich eine Galerie erstelle, bekomme ich diesen Code generiert, aber ich kann nicht herausfinden, wie

_28_0120 

Welche function generiert die Thumbnail-URL und wie wird das Thumbnail-Bild generiert und auf die Größe 150-150 zugeschnitten?

Ich vergaß zu erwähnen:
Für die Galerieseite get_children ich get_children , also muss ich damit arbeiten

Solutions Collecting From Web of "Wie erhalte ich eine Galerie-Thumbnail-URL und ändere die Standard-Thumbnail-Größe?"

Die Größe der Miniaturansicht basiert auf den in WordPress Dashboard> Einstellungen> Medien definierten Dimensionen, es sei denn, Ihr Design überschreibt diese.

Wie kann ich mein Thema überschreiben?

Um die Standardgröße nach der Miniaturansicht zu ändern, müssen Sie set_post_thumbnail_size . Fügen Sie dies in Ihrer functions.php Datei hinzu:

 if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( W, H, true ); //change to false to disable hard cropping } 

Ändern Sie W und H zu den Abmessungen (in Pixeln), die Sie für das Miniaturbild festlegen möchten. Zum Beispiel set_post_thumbnail_size( 150, 150 ); Stellt die Miniaturgröße auf 150 x 150 Pixel ein.

HINWEIS: Überprüfen Sie, ob Ihr add_theme_support( 'post-thumbnails' ); bereits über add_theme_support( 'post-thumbnails' ); – Falls set_post_thumbnail_size( W, H ); , füge einfach set_post_thumbnail_size( W, H ); darunter.


gibt es keine andere function speziell für die Galerie, da die Größe der Galerie-Miniaturansicht, die ich benötige, sich von den Post-Miniaturansichten unterscheidet.

OPTION – 1: (Der gesamte Code geht in die functionen.php)

Zuerst müssen wir eine neue Bildgröße für die Galerie-Thumbnails registrieren:

 if ( function_exists( 'add_image_size' ) ) { // set gallery thumbnail image's size to 250 x 250 pixels add_image_size( 'ilyad-gallery-thumb', 250, 250, true ); //change to false to disable hard cropping } 

Nun können wir den Standard-WordPress-Galerie-Code mit unseren eigenen modifizieren (so dass wir unsere eigene Vorschaugröße für Bilder in der Galerie festlegen können) – Der gesamte untenstehende Code ist der Standard-Galerie-Shortcode aus wp-includes/media.php . Ich habe 'size' => 'thumbnail' in 'size' => 'gallery-thumb' geändert 'size' => 'thumbnail' damit die Galerie die neu registrierte Bildgröße für Galerien verwendet.

 // Modified Gallery Shortcode add_filter("post_gallery", "wpse56909_post_gallery",10,2); function wpse56909_post_gallery($output, $attr) { global $post; static $instance = 0; $instance++; // We're trusting author input, so let's at least make sure it looks like a valid orderby statement if ( isset( $attr['orderby'] ) ) { $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] ); if ( !$attr['orderby'] ) unset( $attr['orderby'] ); } extract(shortcode_atts(array( 'order' => 'ASC', 'orderby' => 'menu_order ID', 'id' => $post->ID, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 3, 'size' => 'gallery-thumb', 'include' => '', 'exclude' => '' ), $attr)); $id = intval($id); if ( 'RAND' == $order ) $orderby = 'none'; if ( !empty($include) ) { $include = preg_replace( '/[^0-9,]+/', '', $include ); $_attachments = get_posts( array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) ); $attachments = array(); foreach ( $_attachments as $key => $val ) { $attachments[$val->ID] = $_attachments[$key]; } } elseif ( !empty($exclude) ) { $exclude = preg_replace( '/[^0-9,]+/', '', $exclude ); $attachments = get_children( array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) ); } else { $attachments = get_children( array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) ); } if ( empty($attachments) ) return ''; if ( is_feed() ) { $output = "\n"; foreach ( $attachments as $att_id => $attachment ) $output .= wp_get_attachment_link($att_id, $size, true) . "\n"; return $output; } $itemtag = tag_escape($itemtag); $captiontag = tag_escape($captiontag); $columns = intval($columns); $itemwidth = $columns > 0 ? floor(100/$columns) : 100; $float = is_rtl() ? 'right' : 'left'; $selector = "gallery-{$instance}"; $gallery_style = $gallery_div = ''; if ( apply_filters( 'use_default_gallery_style', true ) ) $gallery_style = "  "; $size_class = sanitize_html_class( $size ); $gallery_div = "\n"; return $output; } 

Diese Änderungen wirken sich nicht auf Ihre alten Posts aus. Wenn Sie denken, dass es sollte, müssen Sie die Thumbnails für alle Posts neu generieren, für die dies das meistgesuchte Plugin ist – AJAX Thumbnail Rebuild .

[ Quelle ]

OPTION – 2: (Der gesamte Code geht in die functionen.php)

Nehmen wir an, Sie möchten, dass die Größe der Miniaturansichten in der Galerie 250 x 250 Pixel beträgt. Gehen Sie zu WordPress Dashboard> Einstellungen> Medien und legen Sie die Breite und Höhe der Miniaturansicht auf 250 bzw. 250 fest. Halb fertig!

Jetzt müssen wir die Größe der Thumbnails ändern, die Ihre Posts darstellen. Lässt zuerst eine neue Thumbnail-Größe registrieren:

 if ( function_exists( 'add_image_size' ) ) { add_image_size( 'ilyad-post-thumb', 150, 150, true ); //change to false to disable hard cropping } 

Jetzt sollten alle Instanzen von Code für Post-Thumbnails in Ihren Theme-Dateien geändert werden, um die ilyad-post-thumb Größe zu verwenden. Hier sind zwei Beispiele.

  • FALL – 1: Wenn Ihr Thema so etwas verwendet:

     < ?php if ( '' != get_the_post_thumbnail() ) : $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), thumbnail ); ?> 

    Es sollte zu diesem geändert werden:

     < ?php if ( '' != get_the_post_thumbnail() ) : $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), ilyad-post-thumb ); ?> 

    Oben ändern wir einfach eine thumbnail (Bildgröße) in ilyad-post-thumb .

  • FALL – 2: Wenn Ihr Thema so etwas verwendet:

     < ?php if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it. the_post_thumbnail(); } ?> 

    Ändern Sie es zu diesem:

     < ?php if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it. the_post_thumbnail('ilyad-post-thumb'); } ?> 

Diese zwei Beispiele sollten Ihnen eine Idee geben, wie Sie vorgehen sollten. 🙂

PS: Diese Antwort ist im Rahmen meines Wissens geschrieben.

In Wp-admin kannst du die Größe unter Einstellungen -> Medien einstellen.

Wenn Sie die URL auf der Seite haben möchten, können Sie diese function verwenden:

 < ?php wp_get_attachment_thumb_url( $post_id ); ?>