webmaster

کار نکردن شماره صفحات در کوئری

7 پست در این موضوع قرار دارد

سلام خدمت دوستان

من یک صفحه ای رو برای یک موضوع خاص ایجاد کردم و داخلش قرار هست آخرین ارسالات مربوط به اون موضوع رو نشون بده.

از اونجا که در تنظیمات وردپرس برای صفحه اصلی تنظیم کردم که مثلا 6 پست نمایش بده زمانی که از حلقه اصلی استفاده میکنم در اینصورت در این صفحه موضوع هم 6 مطلب نشون میده.

برای همین میام از کوئری زیر استفاده میکنم که در هر صفحه مثلا 10 پست نشون بده ولی اینطوری هم شماره صفحات کار نمیکنه ! یعنی صفحه اول هم همون پست ها رو نشون میده و صفحه دوم هم همون پست ها رو.


<?php
$pack2_query = new WP_Query(array(
'post_status' => 'publish',
'post_type' => 'post',
'order' => 'DESC',
'cat' => 15,
'posts_per_page' => 10,
'no_found_rows' => 1,
));
?>
<?php if($pack2_query->have_posts()) :
while($pack2_query->have_posts()) : $pack2_query->the_post();?>
<li><a href="<?php the_permalink() ?>"><?php if ( has_post_thumbnail() ) {
the_post_thumbnail('first-thumb');
} else { ?>
<img src="<?php bloginfo('template_directory'); ?>/images/no-image.png" alt="<?php the_title(); ?>" />
<?php } ?> </a></li>

<?php endwhile;endif;?>
<?php wp_pagenavi(); ?>
<?php wp_reset_query(); ?>

چطوری میتونم این مشکل رو حل کنم ؟

ویرایش شده در توسط webmaster
0

به اشتراک گذاری این پست


لینک به پست

درود.به این صورت تست کنید


<?php
$pack2_query = new WP_Query(array(
'post_status' => 'publish',
'post_type' => 'post',
'order' => 'DESC',
'cat' => 15,
'posts_per_page' => 10,
'no_found_rows' => 1,
'paged' => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
));
?>
<?php if($pack2_query->have_posts()) :
while($pack2_query->have_posts()) : $pack2_query->the_post();?>
<li><a href="<?php the_permalink() ?>"><?php if ( has_post_thumbnail() ) {
the_post_thumbnail('first-thumb');
} else { ?>
<img src="<?php bloginfo('template_directory'); ?>/images/no-image.png" alt="<?php the_title(); ?>" />
<?php } ?> </a></li>
<?php endwhile;endif;?>
<div class="pagination">
<?php
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $pack2_query->max_num_pages
) );
?>
</div>
<?php wp_reset_query(); ?>

1

به اشتراک گذاری این پست


لینک به پست

ممنون ولی شماره صفحه ای نشون نمیده

افزونه ای که من استفاده میکنم wp-pagenavi هستش البته اگه ارتباطی به این موضوع داشته باشه .

0

به اشتراک گذاری این پست


لینک به پست

کدها رو تصحیح کردم دوباره تست کنید

1

به اشتراک گذاری این پست


لینک به پست

تشکر این دفعه علاوه بر اینکه الان شماره صفحات نشون نمیده ، پست ها هم کلا نمایش داده نمیشن

ویرایش شده در توسط webmaster
0

به اشتراک گذاری این پست


لینک به پست


'no_found_rows' => 1,

رو حذف کنید

1

به اشتراک گذاری این پست


لینک به پست

خیلی ممنون از لطفتون مشکل حل شد.

فقط شماره صفحات ، شماره های اضافی نشون میده یعنی کل مطالب در 2 صفحه هست ولی در این شماره صفحات 4 صفحه نشون میده و وقتی مثلا رو 4 یا 3 کلیک میشه صفحه not found میاد.

===================

البته دلیل این موضوع یه چیز دیگه شد عذر میخوام

من از یه دسته مادر استفاده کردم => مثلا 15 / و یک دسته زیر مجموعه اون مثلا => 17 برای این کوئری

دسته مادر همه مطالب رو شامل میشه و در نتیجه اگر کاربر با ادرس این موضوع یعنی به این صورت site.com/?cat=15 مشکلی نداره و شماره صفحات نمایش میده

ولی چون دسته زیر مجموعه کلا 12 تا مطلب داره وقتی با آدرس site.com/?cat=17 میریم به غیر از صفحات 1 و 2 بقیه not found میاد. (شماره صفحاتم از 1 تا 9 هست یعنی کلیه مطالب دسته مادر رو در این صفحه هم نشون میده )

امیدوارم متوجه منظورم شده باشید. یعنی ادرس میشه site.com/?cat=17&paged=3 و در نتیجه چون زیر مجموعه صفحه 3 نداره not found میاد

بازم ممنون

ویرایش شده در توسط webmaster
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری