web-dev-qa-db-fra.com

WP 3.5 et Galeries - Comment compter les images?

J'essaie de comprendre comment compter et afficher le nombre d'images dans une galerie avec WP 3.5. Je suivais un ancien post sur Ottopress , interrogeant la base de données pour obtenir des pièces jointes, mais il semble que les galeries soient maintenant contenues dans des codes courts.

Est-il possible d'extraire le shortcode de la publication et de compter les identifiants? Quelle est la meilleure façon d'y parvenir?

5
javy

Cela a bien fonctionné pour moi pour un format de publication dans une galerie. Ne semble pas totalement pertinent, mais je pensais le jeter.

$num_attachments = array_sum ( (array) wp_count_attachments('image') );
2
helgatheviking

Si vous avez besoin de compter après le traitement de gallery lui-même, il serait peut-être plus simple de raccorder le filtre post_gallery à gallery_shortcode () et de noter les messages explicitement inclus à partir des arguments transmis.

Cela devient un peu compliqué avec plusieurs galeries dans le même post, mais il est difficile de recommander une approche spécifique sans un contexte complet de vos besoins.

2
Rarst

Cela marche:

$images = get_children( array(
    'post_parent' => $post->ID,
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'orderby' => 'menu_order',
    'order' => 'ASC',
    'numberposts' => 999
));
if ( $images ) {
    $total_images = count( $images );
}

La variable $ total_images tiendra le nombre d'images dans votre galerie.

2
justmattb