Wie bekomme ich Thumbnail mit reinem PHP in einer WordPress-database?

Ich brauche Hilfe, um Thumbnails in einer WordPress-database mit reinem PHP zu bekommen, weil ich dies in eine Magento-Anwendung (Feed) einfügen muss. Kann mir jemand helfen?

Ich brauche das:

http://img.daswordpress.com/php/fashionista_web_header_by_lstar92-d3gkahi-263×130.jpg

oder ein Teil davon, Beispiel:

  • /uploads/2015/09/fashionista_web_header_by_lstar92-d3gkahi-263×130.jpg
  • /2015/09/fashionista_web_header_by_lstar92-d3gkahi-263×130.jpg

Mehr Details:

add_image_size('magento-image', 263, 130, true); 

PHP Skript verwendet:

 function SimpleLoopWordpress (){ try { // PDO em ação! $pdo = new PDO ( "mysql:host=localhost;dbname=", "", "", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date ASC"; $stmt = $pdo->prepare($sql); $stmt->execute(); $i = 1; echo '
'; while ( $linha = $stmt->fetch ( PDO::FETCH_OBJ ) ) { ?>
<?php echo $i++; echo FEATURED IMAGE post_title; echo $linha->post_date; echo $linha->post_content; ?>
<?php } echo '
'; }

Ich habe ein komplett aktualisiertes PHP-Skript in Pastebin gepostet:

http://pastebin.com/49Mbj484

  • Bis jetzt ist es ok -> $meta->execute( $linha->thumbnail_id ); // ids 15 - 16 $meta->execute( $linha->thumbnail_id ); // ids 15 - 16

Vielen Dank

Solutions Collecting From Web of "Wie bekomme ich Thumbnail mit reinem PHP in einer WordPress-database?"

Okay, ein paar Dinge – zuerst würde ich vorschlagen, deine Hauptabfrage so zu modifizieren, dass du gleichzeitig die Miniaturansicht-ID abrufst (ich habe sie auch so geändert, dass nur Posts mit einem Daumen erhalten werden):

 $sql = "SELECT wp_posts.*, meta_value AS thumbnail_id FROM wp_posts " . "LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id " . "WHERE post_type = 'post' AND meta_key = '_thumbnail_id' AND meta_value != '' " . "ORDER BY post_date ASC"; 

Jetzt für die Verarbeitung:

 while ( $linha = $stmt->fetch ( PDO::FETCH_OBJ ) ) { $meta = $pdo->prepare( 'SELECT meta_value FROM wp_postmeta WHERE meta_key = "_wp_attachment_metadata" AND post_id = ?' ); $meta->execute( array( $linha->thumbnail_id ) ); $file = null; // Failsafe in case anything below fails if ( $data = $meta->fetchColumn() ) { if ( $data =@ unserialize( $data ) ) { $file = $data['file']; if ( ! empty( $data['sizes'] ) ) { $sizes = $data['sizes']; if ( ! empty( $sizes['magento-image'] ) ) $file = $sizes['magento-image']['file']; elseif ( ! empty( $sizes['thumbnail'] ) ) // You might want to fallback, up to you $file = $sizes['thumbnail']['file']; } if ( $file !== $data['file'] ) { // Files stored in sizes are only the basename // If you use year/month uploads, we need to grab that path if ( '.' !== $path = dirname( $data['file'] ) ) $file = "$path/$file"; } } } if ( $file ) { // Gotcha! echo ""; } } 

Dieser Code wird nicht getestet. Sehen Sie sich an, wie Sie vorgehen und melden Sie sich mit Fehlern zurück.