У меня есть эта проблема, создающая навигацию, которая реагирует на мои get_posts ($ args). Попробовали все, и все, что я могу найти в Интернете, - это решения, выполненные с помощью wp-запроса.Bootstrap acf wp pagination with get_posts
Я использую ACF и Bootstrap, поэтому мне бы очень хотелось придерживаться get_posts.
Код ниже здесь - это мой текущий код, который отлично работает, чтобы показать только 5 сообщений. Но как мне создать навигацию для разбивки на страницы?
<div class="articles">
<?php
$args = array( //'numberposts' => -1
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 5,
'paged' => $paged,);
$posts= get_posts($args);
if ($posts) :
$counter = 1;
foreach ($posts as $p) :
$classCount = 'post-'.$counter;
if($classCount == 'post-1') : echo '<div class="mediumPost col-xs-12 col-sm-6 col-md-6 col-lg-6">';
elseif($classCount == 'post-2' || $classCount == 'post-3') : echo '<div class="smallPost col-xs-12 col-sm-6 col-md-6 col-lg-6">';
elseif($classCount == 'post-4') : echo '<div class="largePost col-xs-12 col-sm-12 col-md-12 col-lg-12">';
elseif($classCount == 'post-5') : echo '<div class="mediumPost col-xs-12 col-sm-6 col-md-6 col-lg-6">';
elseif($classCount == 'post-6' || $classCount == 'post-7') : echo '<div class="smallPost col-xs-12 col-sm-6 col-md-6 col-lg-6">';
else : echo '<div class="smallPost col-xs-12 col-sm-6 col-md-6 col-lg-6">';
endif; ?>
<?php $postImg = get_field('post_image', $p->ID); if(!empty($postImg)): ?>
<img src="<?php echo $postImg['url']; ?>" alt="<?php if(!empty($postImg['alt'])): echo $postImg['alt']; else : echo the_title(); endif; ?>" />
<?php endif; ?>
<div class="iconBox">
<?php $getIcon = get_field('post_type', $p->ID); ?>
<?php $catIcon = get_field($getIcon, 132); ?>
<?php if(!empty($catIcon)): ?>
<img class="iconImg" src="<?php echo $catIcon['url']; ?>" alt="<?php if(!empty($catIcon['alt'])): echo $catIcon['alt']; else : echo the_title(); endif; ?>" />
<?php endif; ?>
</div>
<?php $categories = get_the_category($p->ID);
$category_id = $categories[0]->cat_ID; ?>
<?php if($category_id == 9) : ?>
<h4 data-toggle="modal" data-target="#myModal-<?php echo $counter ?>"><?php echo get_the_title($p->ID); ?></h4>
<span class="articles-btn" data-toggle="modal" data-target="#myModal-<?php echo $counter ?>">Watch link</span>
<!-- Modal -->
<div class="modal fade" id="myModal-<?php echo $counter ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h5 class="modal-title" id="myModalLabel"><?php echo get_the_title($p->ID); ?></h5>
</div>
<div class="modal-body">
<div class="embed-container">
<?php // get iframe HTML
$iframe = get_field('post_embed', $p->ID);
// use preg_match to find iframe src
preg_match('/src="(.+?)"/', $iframe, $matches);
$src = $matches[1];
// add extra params to iframe src
$params = array(
'controls' => 1,
'hd' => 1,
'autohide' => 1
);
$new_src = add_query_arg($params, $src);
$iframe = str_replace($src, $new_src, $iframe);
// add extra attributes to iframe html
$attributes = 'frameborder="0"';
$iframe = str_replace('></iframe>', ' ' . $attributes . '></iframe>', $iframe); ?>
<?php echo $iframe; ?>
</div>
</div>
</div>
</div>
</div>
<?php else : ?>
<a href="<?php echo get_permalink($p->ID); ?>"><h4><?php echo get_the_title($p->ID); ?></h4></a>
<a href="<?php echo get_permalink($p->ID); ?>"><span class="articles-btn">READ MORE</span></a>
<?php endif; ?>
</div> <!--postSize div-->
<?php $counter++; if (11 === $counter) $counter = 1; endforeach; wp_reset_postdata();?>
<?php endif; ?>
</div>
Привет, прежде всего спасибо миллион за ответ :) Я сделал все, что вы предложили, но ничего не выходит в custom_pagination. Пытался просто отозваться «привет» изнутри оператора if, и это проявляется. Таким образом, он просто не может получить custom_pagination ($ posts, "", $ paged); показать что-нибудь. –
см. Последний блок кода в ответе, который я только что обновил .. custom_pagination (count ($ posts), "", $ paged) –
Удивительно! Большое спасибо :) –