Wie verwende ich wp_get_attachment_metadata für Thumbnails?

Ich möchte die richtigen Rich Text Snippets hinzufügen, damit der Goole Structured Data Validator den gesamten Code, den ich habe, weitergibt. Die einzigen fehlenden Dinge sind die Größe der Thumbnails.

Diese spezifischen Beispiele sind für die Thumbnails in der Schleife der WordPress Homepage.

Ich habe diesen Code:

<meta itemprop="url" content="ID ) ); ?>"> 'post_thumbnail_common', 'alt' => get_the_title() , 'title' => get_the_title() )); echo contentnoimg(41);} else { echo content(41); } ?>

Hier möchte ich folgendes hinzufügen:

   

Damit der endgültige Code ungefähr so ​​aussieht:

 
<meta itemprop="url" content="ID ) ); ?>"> <meta itemprop="width" content=""> <meta itemprop="height" content=""> 'post_thumbnail_common', 'alt' => get_the_title() , 'title' => get_the_title() )); echo contentnoimg(41);} else { echo content(41); } ?>

Wie soll ich statt dessen sagen, dass die Bildhöhe und -breite gut gesammelt werden?

Hier sind die inhaltlichen und inhaltlichen functionen – sie formatieren den nach dem Thumbnail gezeigten Ausschnitt und beschneiden ihn nach X Zeichen:

 function content( $limit ) { global $post; if( has_excerpt() ){ $content = the_excerpt(); } else { $content = explode( ' ', get_the_content(), $limit ); if ( count($content) >= $limit ) { array_pop( $content ); $content = implode( " ", $content ); $content = wp_strip_all_tags( $content, true ); // $content .= '...
ID) . '" class="awesomebtn">'.__('Read full post','language') .''; } else { $content = implode( " ", $content ); } $content = preg_replace( '/\[.+\]/','', $content ); $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content ); } return $content; } function contentnoimg($limit) { global $post; if( has_excerpt() ){ $content = the_excerpt(); } else { $content = explode(' ', get_the_content(), $limit); if (count($content)>=$limit) { array_pop($content); $content = implode(" ",$content); $content = wp_strip_all_tags($content, true); // $content .= '...
ID) . '" class="awesomebtn">'.__('Read full post','language') .''; } else { $content = implode(" ",$content); } $content = preg_replace('/()/','', $content); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); } return $content; }

Vielen Dank

Solutions Collecting From Web of "Wie verwende ich wp_get_attachment_metadata für Thumbnails?"

Die Struktur wäre so etwas.

  • Überprüfen Sie, ob Sie ein Thumbnail haben
  • Hol dir das Meta
  • Fügen Sie die Metadaten für w / h / file hinzu
  • Rendere das Bild anschließend

     if ( has_post_thumbnail() ) : // check if the post has a Post Thumbnail assigned to it. $upload_dir = wp_upload_dir(); $size = 'full'; $post_thumbnail_id = get_post_thumbnail_id( $post_id ); $post_thumbnail_meta = wp_get_attachment_metadata ( $post_thumbnail_id ); $main_file = $post_thumbnail_meta [ 'file' ]; $dirname = dirname ( $main_file ); $base_url = trailingslashit ( $upload_dir['baseurl'] ) . $dirname . '/'; // fallback to known file if the size doesn't exist if ( ! isset($post_thumbnail_meta [ 'sizes' ][ $size ] ) ) { $size = 'full'; // use this size when we're missing data } // full is at the root, alternate sizes exist in the sizes prop $imgInfo = $size === 'full' ? $post_thumbnail_meta : $post_thumbnail_meta [ 'sizes' ][ $size ]; $filename = basename ( $imgInfo[ 'file' ] ); $width = $imgInfo[ 'width' ]; $height = $imgInfo[ 'height' ]; $file = $base_url . $filename; ?> 
    < ?php the_post_thumbnail( 'full', array('class'=>'post_thumbnail_common', 'alt' => get_the_title() , 'title' => get_the_title() ) ); echo contentnoimg(41); ?>
    < ?php else: // end has_post_thumbnail else // no thumbnail echo content(41); endif; // end has_post_thumbnail block