Récupérer les images chargées dans un message

Lorsque vous écrivez un message dans WordPress, vous pouvez télécharger des images à la même période l'écriture de l'article. Ces images, qui font partie de la bibliothèque multimédia, sont associées à ce poste particulier. La particularité de ce comportement réside dans la capacité d'extraire de ces images, peu importe si elles étaient physiquement placés à l'intérieur du poste. Cette procédure est donc beaucoup plus intéressant que d'utiliser des champs personallizzati (champs personnalisés) ou "difficiles" (pour certains) regexp (expressions régulières) dans le corps du message. Plus récemment, WordPress vous permet d'insérer une galerie simple, mais immédiat, en prenant avantage de cette connexion entre votre poste et image téléchargée. Faible niveau des images chargées sont traités exactement comme un poste, c'est la table de base de données et les champs sont exactement les mêmes.
Par exemple, si un poste particulier - chargé avec photos - nous utilisons le code suivant:

1
2
3
4
5
6
/ / Où $ post_id est l'id de la poste
/ / Si nous sommes dans une boucle, nous pouvons utiliser $ post-ID
get_children ( 'post_type=attachment&post_mime_type=image&post_parent=' . $post_id ) ; $ Pour = & get_children ('post_type = attachement & post_mime_type = image & post_parent =' $ post_id.);
$ai as $image ) { foreach ($ comme $ image) {
. $image -> post_title . '</p>' ; ». <p> 'echo $ image -> post_title» </ p>'.;
}

Nous obtenons la liste des titres des images téléchargées. Pour afficher les images il suffit de modifier la sortie:

1
. $image -> post_title . '<img src="' . $image -> guid . '" /></p>' ; ». <p> 'echo $ image -> post_title" /> </ p>'. '<img src="'. $image -> GUID.';

Cependant, il est plus correct - pour des raisons de compatibilité avec les futures mises à jour - utiliser les fonctions que WordPress propose de récupérer l'url de l'image. Par exemple, nous pouvons voir dans l'image est réelle et fourre-tout grande à travers l'image miniature:

1
2
3
. $image -> post_title . echo '<p> "$ image -. post_title>.
wp_get_attachment_thumb_url ( $image -> ID ) . '" />' . «<img Src="'. Wp_get_attachment_thumb_url ($image -> ID). '" />'.
wp_get_attachment_url ( $image -> ID ) . '" /></p>' ; «<img Src="'. Wp_get_attachment_url ($image -> ID). '" /> </ P>';

Commander

Dans les exemples que nous avons vu sur les images sont récupérées sans aucun ordre précis pour un ordre inverse maximale de chargement. Si vous avez déjà essayé d'utiliser la galerie de WordPress, vous remarquerez que cela vous permet de trier les images chargées, le tri peut être fait par titre, date et heure ou un mode aléatoire. En outre, vous pouvez utiliser le mode manuel, nous choisissons donc une commande d'images, toujours par rapport à la notion de tunnel, puis la séquence (le premier, deuxième, troisième, et ainsi de suite ...). Vous pouvez aussi indiquer comment augmenter ou de diminuer le critère que nous avons choisie. En particulier, le tri manuel, travaille comme dans les pages, qui est, en utilisant le champ menu_order (initialement fixée à 0 pour toutes les images chargées).
Donc si vous avez téléchargé une série d'images et de les manipuler dans un post avec le tri manuel, afin que nous faisons dans notre cycle est prise en compte de l'ordre. per qualsiasi tipo di campo ( menu_order , ID , data , etc…): Une façon rapide, facile et, pour ce faire est d'utiliser le usort() pour ranger notre array pour tout type de terrain ( menu_order , ID , data , etc ...):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/ / Où $ post_id est l'id de la poste
/ / Si nous sommes dans une boucle, nous pouvons utiliser $ post-ID
get_children ( 'post_type=attachment&post_mime_type=image&post_parent=' . $post_id ) ; $ Pour = & get_children ('post_type = attachement & post_mime_type = image & post_parent =' $ post_id.);

/ / Applique une fonction de tri ainsi mon
/ / Vous pouvez choisir le terrain sur lequel
/ / Le tri (dans notre cas, menu_order)
$ai , "sortImage" ) ; usort ($ destinataire, "sortImage");

$ai as $image ) { foreach ($ comme $ image) {
. $image -> post_title . '<img src="' . wp_get_attachment_thumb_url ( $image -> ID ) . '" /></p>' ; ». <p> 'echo $ image -> post_title" /> </ p>'. '<img src="'. wp_get_attachment_thumb_url ($image -> ID).';
}

$a , $b ) { Fonction sortImage ($ a, $ b) {
$a -> menu_order == $b -> menu_order ) return 0 ; if ($ a -> b == $ menu_order -> menu_order) return 0;
$a -> menu_order > $b -> menu_order ) ? 1 : - 1 ; return ($ a -> menu_order> $ b -> menu_order) 1: - 1;?
/ / Retour ($ a-> menu_order> $ b-> menu_order)? -1: 1 / / décroissant
}

Inutile de dire, bien sûr, si vous voulez récupérer le "avant" et il suffit de supprimer la seule image chargée foreach() .

11 commentaires à "Récupérer les images chargées dans un message"

  1. 5 septembre 2009 Le meilleur de la semaine # 28 | BigThink :

    [...] Récupérer les images chargées dans un recuparare Message Un script pour les images d'un poste, même si elles n'étaient pas réellement insérés dans le texte! [...]

  2. 6 janvier 2010 James:

    Bonjour et merci pour votre article. Mais «je ne comprenais pas ce qui est« Je veux que le code à entrer pour récupérer seulement un aperçu de la première image insérée dans le poste ...

  3. 7 janvier 2010 Giovambattista Fazioli :

    @ James: commentez la ligne que les dix dernières douze ans, éliminant ainsi le foreach . Au lieu de la ligne 10, donc avant que vous echo ... entrez:

    1
    $ai [ 0 ] ; // prendo la prima immagine solamente Pour l'image $ = $ [0]; / / récupère la première image que

    J'espère que j'ai bien compris votre question ...

  4. 7 janvier 2010 James:

    @ Giovambattista Fazioli:
    Giovambattista Bonjour et merci beaucoup pour votre réponse. J'ai inséré le code que vous avez changé et il semble y avoir un problème selon la usort et aussi l'image n'est pas affichée ...
    Warning: usort() [function.usort]: Invalid comparison function. in /membri2/xxxxx/wp-content/themes/nomtema/index.php on line 27

    Pourquoi? l'utilisation WP 2.9.1

  5. 7 janvier 2010 Giovambattista Fazioli :

    @ James: Il semblerait que la fonction de tri sortImage() n'est pas écrite correctement. Si postami l'ensemble du code que vous avez écrit, même dans le courrier.

  6. 7 janvier 2010 James:

    @ Giovambattista Fazioli:

    J'appelle le code php que j'ai inséré par email

    Merci beaucoup

  7. 11 novembre 2010 , George:

    Bonjour,
    Je voudrais vous demander des informations sur le script, avec l'introduction de WP 3.0, ils ont ajouté la possibilité de mettre les pouces, j'aurais besoin de changer le script afin de ne pas apparaître dans la liste des images, celle qui est utilisée que le pouce de la poste.

    Savez-vous si vous me donnez un coup de main?
    Merci à l'avance,
    George

  8. 12 novembre 2010 Giovambattista Fazioli :

    @ Georges: vous pourriez faire de cette façon. Avant de retirer les images liées à un poste, d'extraire n'importe quelle vignette (comme indiqué dans WordPress 9.2 +: nouvelle fonctionnalité de vignettes après ). A l'intérieur de l'extraction de boucle, puis, si l'image est associée à cette vignette à exclure. Si je comprends bien ...

  9. 12 novembre 2010 , George:

    Parfait, merci! Par la façon dont j'ai pensé à une solution pour ce type de pensée ou bien insérer le pouce comme la première image dans la galerie, puis à travers un artifice à exclure:

    1
    $ai == $ai [ 0 ] ) { } else { echo ... } if ($ pour == $ à [0]) {} else {...}

    une solution pourrait être tout aussi efficace à votre avis?

    Merci pour la réponse,
    George

  10. 12 novembre 2010 Giovambattista Fazioli :

    @ Georges: c'est bien aussi de positionnement comme avant, rappelez-vous juste :)

  11. 12 novembre 2010 , George:

    Bonjour,
    désolé si je continue à pester, mais j'obtiens des erreurs et ne comprends pas pourquoi ...

    Ma fonction est la suivante:

    1
    2
    3
    4
    get_children ( 'post_type=attachment&post_mime_type=image&post_parent=' . $post -> ID ) ; $ Pour = & get_children ('post_type = attachement & post_mime_type = image & post_parent =' $ message -> ID.);
    $ai as $image ) { foreach ($ comme $ image) {
    . $image -> post_title . '</p>' ; ». <p> 'echo $ image -> post_title» </ p>'.;
    }

    Comment puis-je lui faire prendre un chèque pour voir si il ya une des vignettes de poste, puis l'exclure? Dans mon modèle, j'ai activé le support de cette fonction et tout fonctionne parfaitement, tout simplement pas comment j'ai compris qu'il contrôler précisément ce qui est l'élément du pouce en raison de la poste et ensuite de l'exclure de la sortie ...

    Si vous pouvez m'aider à éviter de couper mes veines ... Je suis perdu patience derrière cette chose et je ne peux pas le comprendre ... : (

    merci beaucoup,
    George

Laisser un commentaire

XHTML TAG PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CODE D'INSERTION:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Arrêtez SOPA