现在我试图去pdf-market.ir/?paged=2但它显示404错误! 检查网站site search
我试图解决这个问题,但没有成功。 我的index.php中的循环代码<ul class="page_result">
<?php
//$paged = (get_query_var('page')) ? get_query_var('page') : 1;
$args = array(
'post_type' => 'product',
'stock' => 1,
'posts_per_page' => 16,
'orderby' => 'date',
'order' => 'DESC',
'paged' => 1,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<div class="bookbox">
<a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<div class="bookbox-img">
<?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" style="margin-left: -20px" width="200px" height="200px" />'; ?>
</div>
</a>
<div class="bookbox-bookname"><a data-tooltip="<?php the_title(); ?>" class="bookname tooltip" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
<?php $mid_var = get_post_meta($post->ID, 'پدیداورنده',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<div class="bookbox-dtibook"><span class="garyYekan10">پدیدآورنده:</span>
<?php echo get_post_meta($post->ID, 'پدیداورنده',true); ?>
</div><?php endif; ?>
<?php $mid_var = get_post_meta($post->ID, 'ناشر',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<div class="bookbox-dtibook"><span class="garyYekan10">ناشر: </span>
<?php echo get_post_meta($post->ID, 'ناشر',true); ?>
</div>
<?php endif; ?>
<?php $mid_var = get_post_meta($post->ID, 'نوبت چاپ',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<div class="bookbox-dtibook"><span class="garyYekan10">نوبت چاپ:</span>
<?php echo get_post_meta($post->ID, 'نوبت چاپ',true); ?>
</div>
<?php endif; ?>
<div class="bookbox-price"><span class="garytahoma8">قیمت: </span> <?php woocommerce_template_loop_price() ?> </div>
<?php $mid_var = get_post_meta($post->ID, 'موجودی',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<div class="bookbox-price"><span class="garytahoma8">موجودی: </span><span class="fontgreen10">
<?php echo get_post_meta($post->ID, 'موجودی',true); ?>
</span> </div><?php endif; ?>
<a alt="مشخصات کتاب" href="<?php the_permalink(); ?>"><div title="مشخصات کتاب" alt="مشخصات کتاب" class="bookbox-bookinfo"></div></a>
<a alt="خرید کتاب" href="<?php the_permalink(); ?>&add-to-cart=<?php the_id(); ?>">
<div alt="خرید کتاب" class="bookbox-addcart"></div>
</a>
</div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</ul>
<div class="pagination">
<?php
wp_pagination(); ?>
</div>
和我的代码在function.php&gt;分页
<?php
function wp_pagination() {
global $wp_query;
$big = 12345678;
$page_format = paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'type' => 'array'
) );
if( is_array($page_format) ) {
$paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
echo '<div><ul>';
foreach ( $page_format as $page ) {
echo "<li>$page</li>";
}
echo '</ul></div>';
}
}
?>
这都是...... 在搜索和档案中显示分页但是 在主页和示例中:site.com不显示分页,它的位置是免费的,没有代码...
答案 0 :(得分:0)
试试这个适合您的代码
<?php
global $query_string;
query_posts($query_string . "post_type=product&post_status=publish&posts_per_page=16");
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile;
endif; ?>
<?php pagination_numeric_posts_nav(); ?>
<?php wp_reset_query(); ?>
将此代码放在functions.php文件中。
function pagination_numeric_posts_nav() {
if( is_singular() )
return;
global $wp_query;
/** Stop execution if there's only 1 page */
if( $wp_query->max_num_pages <= 1 )
return;
$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
$max = intval( $wp_query->max_num_pages );
/** Add current page to the array */
if ( $paged >= 1 )
$links[] = $paged;
/** Add the pages around the current page to the array */
if ( $paged >= 3 ) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if ( ( $paged + 2 ) <= $max ) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
echo '<div class=""><ul class="pagination">' . "\n";
/** Previous Post Link */
if ( get_previous_posts_link() )
printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
/** Link to first page, plus ellipses if necessary */
if ( ! in_array( 1, $links ) ) {
$class = 1 == $paged ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
if ( ! in_array( 2, $links ) )
echo '<li>…</li>';
}
/** Link to current page, plus 2 pages in either direction if necessary */
sort( $links );
foreach ( (array) $links as $link ) {
$class = $paged == $link ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
}
/** Link to last page, plus ellipses if necessary */
if ( ! in_array( $max, $links ) ) {
if ( ! in_array( $max - 1, $links ) )
echo '<li>…</li>' . "\n";
$class = $paged == $max ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
}
/** Next Post Link */
if ( get_next_posts_link() )
printf( '<li>%s</li>' . "\n", get_next_posts_link() );
echo '</ul></div>' . "\n";
}
css for pagination。
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
color: #fff;
text-decoration:none;
}
.navigation li {
display: inline;
}
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
background-color: #6FB7E9;
border-radius: 3px;
cursor: pointer;
padding: 12px;
padding: 0.75rem;
}
.navigation li a:hover,
.navigation li.active a {
background-color: #3C8DC5;
}
我希望这对你有用
答案 1 :(得分:0)
将以下函数添加到functions.php文件中:
function pagination($pages = '', $range = 4)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo "<div class=\"pagination\"><span>Page ".$paged." of ".$pages."</span>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>« First</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹ Previous</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">Next ›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>Last »</a>";
echo "</div>\n";
}
}
要设置样式,请将以下内容添加到样式表(通常为style.css)。
.pagination {
clear:both;
padding:20px 0;
position:relative;
font-size:11px;
line-height:13px;
}
.pagination span, .pagination a {
display:block;
float:left;
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
width:auto;
color:#fff;
background: #555;
}
.pagination a:hover{
color:#fff;
background: #3279BB;
}
.pagination .current{
padding:6px 9px 5px 9px;
background: #3279BB;
color:#fff;
}
最后,在你的主题中调用函数(通常在index.php或loop.php的底部附近,它表示&#34;较旧的帖子&#34;或者#34;较旧的条目&#34;):
<?php if (function_exists("pagination")) {
pagination($additional_loop->max_num_pages);
} ?>