Zeige ein Platzhalter / Default-Bild, wenn kein Bild ausgewählt wurde

Ich muss den folgenden Code ändern, um einen Platzhalter anzuzeigen, wenn kein Bild verfügbar ist.

Ich verstehe, dass ich eine if statement in den folgenden Code hinzufügen muss, aber war mir nicht sicher, die genaue Codierung, die ich brauchte. Offensichtlich in einfachem Englisch wird es entlang der Linien sein, wenn es eine Miniaturansicht zeigt, wenn nicht den Platzhalter zeigen.

 show(get_the_ID(), true); $count = 1; foreach ($rel as $r) { $class= ($count%6 == 0)?"category-related-item-right":""; echo ''; $count++; }?> 

Ich habe das folgende versucht, aber etwas ist nicht ganz richtig, da es die Seite bricht …

 show(get_the_ID(), true); $count = 1; foreach ($rel as $r) { $class= ($count%6 == 0)?"category-related-item-right":""; echo ''; $count++; }?> 

Solutions Collecting From Web of "Zeige ein Platzhalter / Default-Bild, wenn kein Bild ausgewählt wurde"

Tipperrors des Thumbnails in der if-statement.

get_the_post_thumbnail echo das Thumbnail zurück, gibt aber nur das HTML zurück. Sie müssen es widerhallen.

has_post_thumbnail zu überprüfen, ob ein Beitrag ein Thumbnail hat, können Sie has_post_thumbnail .

  if ( has_post_thumbnail($r->ID)) { echo get_the_post_thumbnail($r->ID, array(50,50)); }else{ echo ''; } 

Für Designer, die weniger oder keine Kenntnisse und für Staters in WordPress haben, um Bildcode zu erhalten, wird hier gegeben. Designer können einfach WordPress kopieren und Bild einfügen.

 if ( has_post_thumbnail($post->ID) ){ $image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full'); $image = $image[0]; echo '
'; }else{ $image = get_template_directory_uri() .'/img/placeholder-580.png'; echo ''; }

Eine function zum Hinzufügen von Standardbildern für Designs

Der folgende Code kann auch auf Trac als Ticket 1) gefunden werden .

1) Bitte fügen Sie sich als @ CC dort hinzu, um es zu unterstützen. Vielen Dank!

Ticket-Link

Mit der function wp_default_img() :

Es arbeitet mit einem Eingabe-Array von Attributen und bietet zwei Filter (wp_default_img_attr & wp_default_img). Das Einrichten von Standardbildern ist also so einfach wie die Verwendung eines Filters (wenn der Entwickler des Themas nicht mit den Standard-Argumenten der functionen zufrieden ist) und schließlich nur das Hinzufügen …

 // functions.php during init: add_image_size( 'default_img', 80, 80, true ); // Inside some template $placeholder = get_site_url( null, 'your_path' ).'/some_img.jpg'; echo wp_default_img( array( 'url' => $placeholder, 'size' => 'default_img' ) ); 

Die function kümmert sich auch um das Zuschneiden von Bildern, wenn das vierte Argument bei der Registrierung der Größe mit add_image_size () auf true gesetzt wird.

 function wp_default_img( $attr ) { // Sizes registered via add_image_size(); global $_wp_additional_image_sizes; $defaults = array( 'size' => 'medium' ,'classes' => false ,'alt' => false ,'title' => false ,'align' => 'none' ,'echo' => true ); $attr = wp_parse_args( $attr, $defaults ); if ( 'thumb' === $attr['size'] ) $attr['size'] = 'thumbnail'; // Size in built in sizes - call size setting from DB # behavoir in here, dependent on outcome of @link http://core.trac.wordpress.org/ticket/18947 if ( ! in_array( $attr['size'], array_keys( $_wp_additional_image_sizes ) ) ) { $sizes = get_intermediate_image_sizes(); // Get option - gladly autoloaded/can use wp_cache_get(); $size_data['width'] = intval( get_option( "{$attr['size']}_size_w") ); $size_data['height']= intval( get_option( "{$attr['size']}_size_h") ); // Not sure how this will behave if cropped is false (autoloaded option not added) $size_data['crop'] = get_option( "{$attr['size']}_crop" ) ? get_option( "{$attr['size']}_crop" ) : false; } // Size array from global registered additional/custom sizes array else { $size_data = $_wp_additional_image_sizes[ $attr['size'] ]; } // Retrieve image width & height $img_info = @getimagesize( $attr['url'] ); // Calculate final dimensions - if "crop" was set to true during add_image_size(), the img will get ... cropped $end_sizes = image_resize_dimensions( $img_info[0], $img_info[1], $size_data['width'], $size_data['height'], $size_data['crop'] ); // defaults to px units - can't get changed, as applying units is not possible $hwstring = ' '.trim( image_hwstring( $end_sizes[4], $end_sizes[5] ) ); // Attributes: // Not made required as users tend to do funky things (...and lock screen readers out) $attr['alt'] = $attr['alt'] ? ' alt="'.esc_attr( $attr['alt'] ).'"' : ''; if ( ! $attr['title'] ) { $mime = explode( "/", $img_info['mime'] ); $attr['title'] = sprintf( __('default image of type: %1$s'), ucfirst( $mime[1] ) ); } $attr['title'] = $attr['title'] ? ' title="'.esc_attr( $attr['title'] ).'"' : ''; $attr['classes'] = "wp-img-default ".esc_attr( $attr['classes'] ? $attr['classes'] : '' ); $attr['align'] = $attr['align'] ? "align".esc_attr( $attr['align'] ) : ''; $attr['size'] = "size-".esc_attr( $attr['size'] ); // Allow filtering of the default attributes $attributes = apply_filters( 'wp_default_img_attr', $attr ); // Build class attribute, considering that maybe some attribute was unset via the filter $classes = ' class="'; $classes .= 'wp-img-default'.esc_attr( $attr['classes'] ? ' '.$attr['classes'] : '' ); $classes .= $attr['align'] ? ' '.esc_attr( $attr['align'] ) : ''; $classes .= $attr['size'] ? ' '.esc_attr( $attr['size'] ).'" ' : '" '; $url = trim( $attr['url'] ); $image = ""; // Allow filtering of output $image = apply_filters( 'wp_default_img', $image ); if ( ! $attr['echo'] ) return $image; return print $image; }