web-dev-qa-db-ja.com

WP 3.5とギャラリー - 画像の数え方

WP 3.5を使用して、ギャラリー内の画像の数を数えて表示する方法を見つけようとしています。私は Ottopress で古い投稿をフォローしていて、添付ファイルについてDBに問い合わせましたが、ギャラリーは現在ショートコードに含まれているようです。

投稿からショートコードを抽出してIDを数えることは可能ですか?これを達成するための最良の方法は何ですか?

5
javy

これはギャラリー投稿フォーマットのために私にはうまくいきました...すべての添付ファイルだけが1つのギャラリーにあったと仮定するのは安全でした。完全に関連性があるようには見えませんが、私はそれをそこに捨てることを考えました。

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

Count after gallery自体が処理される必要がある場合、簡単な方法は gallery_shortcode()post_galleryフィルタにフックして明示的にメモすることです。渡された引数からの投稿を含みます。

同じ投稿に複数のギャラリーがあると多少複雑になりますが、特定の方法を推奨することは困難です。

2
Rarst

これは動作します:

$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 );
}

変数$ total_imagesはあなたのギャラリーの中の画像の数を保持します。

2
justmattb