Добавление количества изображений в Multigallery

Хорошо, поэтому я использую функцию [multigallery], и она работает нормально, но одна вещь, которую я хочу добавить.

Вот код, который я использую для multigallery в моем файле functions.php

function get_random_gallery_images(){ global $wpdb,$post; $ids = ""; $counter = 0; $number_of_posts = 6; $args = array( 'post_type' => 'attachment', 'numberposts' => 6, 'post_status' => null, 'orderby' => 'rand', 'post_parent' => $post->ID ); $attachments = get_posts($args); if ($attachments) { foreach ($attachments as $attachment) { if ($counter != 0) { $ids .= ','.$attachment->ID; } else { $ids .= $attachment->ID; } $counter++; } } return $ids; } function multi_gallery_shortcode() { $attachment_ids = get_random_gallery_images(); return do_shortcode(''); } add_shortcode('multigallery', 'multi_gallery_shortcode'); 

И вот как это выглядит

введите описание изображения здесь

Он работает отлично, но вот некоторые функции, которые я хочу добавить

введите описание изображения здесь

Я хочу добавить кол-во фотографий в короткий код с помощью css ass и заголовком над эскизами, но проблема в том, что я не знаю, где добавить коды или коды <div> , может ли кто-нибудь помочь мне с Эта проблема.

Вот код, который я должен назвать числом фотографий, но где я могу добавить это, чтобы он отображался в коротком коде [multigallery].

 <?php $attachments = get_children(array('post_parent'=>$post->ID)); $nbImg = count($attachments); echo '<span class="galNum">'.$nbImg.'</span> Photos.'; ?> 

Можешь попробовать

 function multi_gallery_shortcode($atts, $content=null) { extract( shortcode_atts( array( 'pid' => 0, ), $atts ) ); //format input $pid = intval($pid); // construct a post object dependent on the input value if($pid>0){ // query a post object $pobj = get_post( $pid ); }else{ global $post; // current post object $pobj = &$post; } // construct gallery title $gallery_title = $pobj->post_title; // customize to your needs // construct gallery url $gallery_url = ""; // default first image gallery url $attributes = wp_get_attachment_image_src( get_first_gallery_image($pobj->ID),'thumbnail'); // customize to your needs if(isset($attributes[0])) $gallery_url = $attributes[0]; // format output: $before = sprintf('<div class="gallery-before"><a href="%s">%s</a></div>', $gallery_url , $gallery_title ); $gallery_sc = sprintf('[gallery columns="1" order="ASC" orderby="menu_order" include="%s" link="gallery"]',get_random_gallery_images($pobj->ID)); $after = sprintf('<span class="galNum">%d</span> Photos.', get_total_attachments($pobj->ID)); return $before.do_shortcode($gallery_sc).$after; } add_shortcode('multigallery', 'multi_gallery_shortcode'); 

где три вспомогательные функции:

 function get_random_gallery_images($post_id){ global $wpdb; $ids = ""; $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'posts_per_page' => 6, 'post_status' => 'any', 'orderby' => 'rand', 'post_parent' => $post_id, ); $attachments = get_posts($args); if ($attachments) { $tmp=array(); foreach ($attachments as $attachment) { $tmp[] = $attachment->ID; } $ids=implode(",",$tmp); } return $ids; } 

а также

 function get_total_attachments($post_id){ $args=array( 'post_parent' => $post_id, 'post_mime_type' => 'image', 'post_type' => 'attachment', ); return count(get_children( $args )); } 

и наконец

 function get_first_gallery_image($post_id){ global $wpdb; $id = 0; $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'posts_per_page' => 1, 'post_status' => 'any', 'orderby' => 'date', 'order' => 'DESC', 'post_parent' => $post_id, ); $attachments = get_posts($args); if (isset($attachments[0])) { $id = $attachments[0]->ID; } return $id; }