WP 3.5を使用して、ギャラリー内の画像の数を数えて表示する方法を見つけようとしています。私は Ottopress で古い投稿をフォローしていて、添付ファイルについてDBに問い合わせましたが、ギャラリーは現在ショートコードに含まれているようです。
投稿からショートコードを抽出してIDを数えることは可能ですか?これを達成するための最良の方法は何ですか?
これはギャラリー投稿フォーマットのために私にはうまくいきました...すべての添付ファイルだけが1つのギャラリーにあったと仮定するのは安全でした。完全に関連性があるようには見えませんが、私はそれをそこに捨てることを考えました。
$num_attachments = array_sum ( (array) wp_count_attachments('image') );
Count after gallery自体が処理される必要がある場合、簡単な方法は gallery_shortcode() のpost_gallery
フィルタにフックして明示的にメモすることです。渡された引数からの投稿を含みます。
同じ投稿に複数のギャラリーがあると多少複雑になりますが、特定の方法を推奨することは困難です。
これは動作します:
$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はあなたのギャラリーの中の画像の数を保持します。