Ограничить количество элементов галереи WordPress выходов - PullRequest
1 голос
/ 15 декабря 2010

<?php echo do_shortcode('[gallery id="25"]'); ?>

Это код, который я использую, мне нужен способ ограничить его до 2 пунктов вместо всех элементов.Я знаю, что нет никакого собственного способа сделать это с шорткодом галереи, но есть ли плагин или альтернативный метод, который я мог бы использовать?

1 Ответ

0 голосов
/ 11 февраля 2013

вы можете переписать функцию шорткода галереи в файле functions.php вашего шаблона и сделать что-то вроде этого

remove_shortcode('gallery');
add_shortcode('gallery', 'parse_gallery_shortcode');
function parse_gallery_shortcode($atts) {

global $post;

extract(shortcode_atts(array(
'order'      => 'ASC',
'orderby'    => 'menu_order ID',
    'id' => $post->ID,
    'itemtag' => 'dl',
    'icontag' => 'dt',
    'captiontag' => 'dd',
    'columns' => 3,
    'ids' => '',
    'size' => 'medium',
    'link' => 'file'
), $atts));

$ids = explode(',', $atts[ids]);
$i = 0;
foreach( $ids as $id ) {
    $i++;
    if ( $i > 2 ) { break; } 
    // or replace 2 with how many images you want
$image  = get_post($id);
$img = wp_get_attachment_image_src($image->ID, 'post-onephoto');
$largeimg = wp_get_attachment_image_src($image->ID, 'large');
// this is where you output your images the way you want it
$return .= '<a href="'.$largeimg[0].'"><img width="400" height="400" src="'.$img[0].'" /></a>'; 
}

 return $return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...