WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Постраничная пагинация галереи поста

Подскажите, пожалуйста, как сделать пагинацию встроенной галереи WP? Саму галерею вывожу таким образом:

  $gallery = get_post_gallery( $post, false );
  $ids = explode( ",", $gallery['ids']);
  foreach( $ids as $id ) {
	echo "<img src='". echo wp_get_attachment_image_src($id, 'large')[0] ."'>"
  }

Облазил весь гугл, нечего не нашел...

0
User
5.4 года назад
  • 1
    kolshix779 paxtoy.com

    Сколько же г*вна я перечитал, пока не собрал этот код по крупицам - знаний у меня вообще никаких тогда не было, да и примеры все старые были.

    Код собран через заднее место - но мне лень было его переделывать (ФРАНКЕНШТЕЙН)
    можете взять наработки - важно!!! имена переменных брал откуда попало, на них сильно не стоит обращать внимание

    <?php 
    /*  pagination gallery for me Kolshix  */
    $categories = get_post_gallery( $post->ID, false );
    $categories = explode(',', $categories['ids']); 
    $page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1;  // слово в адресе
    $numOfItems = 20;                                                   // количество постов на странице
    $to = $page * $numOfItems;                                          // 
    $current = $to - $numOfItems;                                       // 
    $total = sizeof($categories);                                       // всего 
    
    $outoput = paginate_links( array(
    	'base' => add_query_arg( 'cpage', '%#%' ),  // слово в адресе
    	'format' => '',
    	'end_size' => 6,
    	'prev_next' => true,
    	'prev_text' => __('«'),
    	'next_text' => __('»'),
    	'total' => ceil($total / $numOfItems),
    	'current' => $page,
    	'always_prev_next_batton' => 'true' 
    ));
    
    if ($outoput !== NULL ){
    	echo $navigatin_k =  $outoput; // тут вывожу дополнительный код span или div если нужно 
    } else {
    	$navigatin_k = '';
    }
    
    for ($i=$current; $i<$to; ++$i) {  
    	if(isset($categories[$i])) {
    		$category = $categories[$i];
    	}else{
    		$category ='';
    	}
    
    	if($category==''){ continue; } // оборвать показ изображений - уже пусто
    
    	$attachment = get_post(  $category ); 
    	$massiv = array('title' => $attachment->post_title); // получить alt
    	// здесь выводим каждую картинку - в переменной $categorу лежат id? а через id можно вывести и урл и прочее 
    	echo 'КАРТИНКА';    
    } 
    
    echo $navigatin_k;
    ?>       
    User 5.4 года назад

    Спасибо за ответ! Попробую, результат сообщу.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация