web-dev-qa-db-fra.com

Comment trouver l'ID de pièce jointe pour la première image d'un message

J'utilise un plugin pour transférer des photos de wordpress sur un blog tumblr.

J'ai le code suivant:

 // post blog to tumblr 
 function postBlogTumblr ($ postID) 
 {
 $ URLServer = "http://www.tumblr.com/api/write "; 
 $ t_post = get_post ($ postID); 
 $ t_url = get_permalink ($ postID); 
 $ tumblr_data = unserialize (get_option (" tumblr ")); 
 $ postdata ['email'] = $ tumblr_data ['tumblr_login_email']; 
 $ postdata ['password'] = $ tumblr_data ['tumblr_login_pass']; 
 $ postdata ['type '] = "photo"; 
 
 $ postdata ['source'] = the_attachment_link ($ attachment_id);
 
 $ postdata ['caption'] = $ t_post-> post_title. "(via adamblanchard.co.uk)"; 
 $ postdata ['state'] =" publié "; 
 $ postdata = http_build_query ($ postdata); 
 $ result = datapost ($ URLServer, $ postdata); 
 
} 

Je crois que j'utilise la bonne méthode sur le $ postdata ['source'] ligne, mais je ne sais pas comment s'y prendre pour obtenir l'identifiant de pièce jointe.

Toute orientation serait grandement appréciée.

3
Jez Fischer

vous pouvez utiliser cet extrait pour obtenir la première image d'un identifiant de pièce jointe:

$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . $postID );
$attachment_id = $images[0]->ID;
3
Bainternet

ce petit code vous donne la première image de la publication, si se trouve dans la galerie de la publication et est! la première image dans la galerie du post.

$attachments = get_children( array(
                'post_parent'    => get_the_ID(),
                'post_type'      => 'attachment',
                'numberposts'    => 1, // show all -1
                'post_status'    => 'inherit',
                'post_mime_type' => 'image',
                'order'          => 'ASC',
                'orderby'        => 'menu_order ASC'
                ) );
foreach ( $attachments as $attachment_id => $attachment ) {
    echo wp_get_attachment_image( $attachment_id );
}

Jouez avec mon post à propos de cette possibilité et vous trouverez votre meilleure solution.

1
bueltge

Si l'image en question est jointe à la publication, vous pouvez obtenir l'URL de l'image à l'aide de la fonction wp_get_attachment_url. ( Lire la suite dans le codex ici )

0
Norcross