2010-03-20 42 views
5

Tôi sử dụng trang đính kèm hình ảnh để hiển thị hình ảnh được đính kèm với từng bài đăng, trong một loại trình chiếu có ảnh hưởng. Tôi muốn có thể hiển thị tổng số hình ảnh được đính kèm vào bài đăng gốc và số lượng hình ảnh cụ thể đang được hiển thị trên bất kỳ trang đính kèm nào để bạn xem hình ảnh và các từ "Hình 3 của 15" ví dụ.Làm cách nào để hiển thị số lượng hình ảnh được đính kèm với bài đăng trên trang tệp đính kèm hình ảnh?

Update ... tôi đã có thể để có được tổng số để hiển thị sử dụng mã này:

<?php 
    global $post; 
    $attachments = get_children(array('post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); 
    $count = count($attachments); 
    echo $count; 
?> 

tôi vẫn không thể tìm ra cách để hiển thị số lượng hình ảnh hiện tại.
Bất cứ ai có bất cứ đề xuất nào?

Cập nhật 2 ...

câu trả lời Greenie đã cho tôi gần như có nhưng nó xuất ra tất cả các số cùng một lúc:

"Hình ảnh 1 trong tổng số 8Image 2 của 8Image 3 của 8Image 4 8Image 5 của 8Image 6 của 8Image 7 của 8Image 8 của 8"

đây là mã tôi đã sử dụng:

global $post; 
$attachments = get_children(array('post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); 
$count = count($attachments); 
$currentImage = 1; 
foreach ($attachments as $attachment) { 
    // output your image here 
    echo "Image ". $currentImage . " of ". $count; 
    $currentImage++; 
} 

Có gì không ổn?

Cập nhật 3 - TRẢ LỜI!

global $post; 
$attachments = get_children(array('post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); 

$count = count($attachments); 
$specific = array(); 
$i = 1; 

foreach ($attachments as $attachment) { 
    $specific[$attachment->ID] = $i; 
    ++$i; 
} 

echo "Image {$specific[$post->ID]} of {$count}"; 

Trả lời

1

này hoạt động:

global $post; 
$attachments = get_children(array('post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); 

$count = count($attachments); 
$specific = array(); 
$i = 1; 

foreach ($attachments as $attachment) { 
    $specific[$attachment->ID] = $i; 
    ++$i; 
} 

echo "Image {$specific[$post->ID]} of {$count}"; 
0

Thêm một cái gì đó như thế này để đoạn code trên:

$currentImage = 1; 
foreach ($attachments as $attachment) { 
    // output your image here 
    echo "Image ". $currentImage . " of ". $count; 
    $currentImage++; 
} 
+0

Cảm ơn đã phản ứng. Điều đó khiến tôi gần như ở đó. Tôi đã cập nhật câu hỏi của mình ở trên với sự cố hiện tại. – mattz

0

Nếu bạn đang tìm kiếm một plugin để quản lý thư viện hình ảnh, bạn có thể sử dụng attachments plugin,

http://wordpress.org/plugins/attachments/

Nó giữ cho thư viện riêng biệt và không đặt shortcodes thư viện hình ảnh trong nội dung bài, do đó cung cấp cho bạn toàn quyền hiển thị hình ảnh trong bài đăng/trang/bài đăng tùy chỉnh của bạn. Bạn cũng có thể thay đổi thứ tự của hình ảnh của bạn bằng cách chỉ cần kéo-n-thả

đây là một mẫu mã như thế nào để lấy hình ảnh bộ sưu tập của bạn,

<?php $attachments = new Attachments('attachments'); /* pass the instance name */ ?> 
<?php if($attachments->exist()) : ?> 
    <h3>Attachments</h3> 
    <p>Total Attachments: <?php echo $attachments->total(); ?></p> 
    <ul> 
    <?php while($attachments->get()) : ?> 
     <li> 
     ID: <?php echo $attachments->id(); ?><br /> 
     Type: <?php echo $attachments->type(); ?><br /> 
     Subtype: <?php echo $attachments->subtype(); ?><br /> 
     URL: <?php echo $attachments->url(); ?><br /> 
     Image: <?php echo $attachments->image('thumbnail'); ?><br /> 
     Source: <?php echo $attachments->src('full'); ?><br /> 
     Size: <?php echo $attachments->filesize(); ?><br /> 
     Title Field: <?php echo $attachments->field('title'); ?><br /> 
     Caption Field: <?php echo $attachments->field('caption'); ?> 
     </li> 
    <?php endwhile; ?> 
    </ul> 
<?php endif; ?> 
Các vấn đề liên quan