رفتن به مطلب

صفحه بندی نشدن مطالب در نمایش برگه دسته ها پست سفارشی


پست های پیشنهاد شده

سلام

برای نمایش مطالب یک دسته خاص در پست سفارشی از این (آموزش) استفاده شد ولی لینک مطالب بعدی و قبلی نمایش داده نمی شود.

خودم هم کدهای زیادی نوشتم ولی همگی این مشکل را دارند:


<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); ?>
<?php $the_query = new WP_Query( 'post_type=library&paged=$paged&category_slug='.$term->slug ); ?>
<?PHP if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?>

لینک به ارسال

تست کنید


<?php previous_posts_link('« Previous', $the_query->max_num_pages); ?>
<?php next_posts_link('More »', $the_query->max_num_pages); ?>

  • امتیاز 3
لینک به ارسال

هم کد شما و هم این کد بنده جواب میده و شماره صفحه + لینک مطلب بعدی و قبلی نمایش داده میشه:


<?php $temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query();
if(!empty($wp->query_vars['libcat'])){
$terms = $wp->query_vars['libcat'];
$taxonomy = 'libcat';
}
if(!empty($wp->query_vars['libtag'])){
$terms = $wp->query_vars['libtag'];
$taxonomy = 'libtag';
}
$paged = ($wp->query_vars['paged']) ? $wp->query_vars['paged'] : 1;
$posts_per_page = get_option('posts_per_page');
$args = array(
'post_type' => 'library',
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $terms
)
)
);
$wp_query->query( $args );
?>
<?php if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?PHP endwhile; endif; ?>
<?php next_posts_link('مطالب قديمي'); ?>   
<?php previous_posts_link('مطالب جديد'); ?>
<?php $wp_query = null; $wp_query = $temp;?>

ولی وقتی روی لینک کلیک شود به صفحه اصلی (index) ریدایرکت شده و عملا" مطالب صفحات دیگر نمایش داده نمی شود.

لینک به ارسال

پیوند یکتا رو هم تنظیم کنید

http://forum.wp-parsi.com/tutorials/article/14-%D9%BE%D8%B3%D8%AA-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C-%D9%BE%DB%8C%D9%88%D9%86%D8%AF-%DB%8C%DA%A9%D8%AA%D8%A7/

بهتره فایل معرفی پست سفارشی را به صورت افزونه نصب

و فایل قالب را با پوسته پیشفرض هم تست کنید

  • امتیاز 2
لینک به ارسال

مشکل همینه!

خطای 404 میده

بهتره این حالت رو غیرفعال و با پیوند یکتای از نوع شناسه id تست کنید

  • امتیاز 1
لینک به ارسال

این رو که میدونستم 404 میده !

نه بازم جواب نمیده, الان شماره صحفه میاد ولی مطالب یکسانه در همه پیج ها !

لینک به ارسال

توضیحتون خیلی مبهمه!

اینو تست کنید


$paged = ($wp->query_vars['page']) ? $wp->query_vars['page'] : 1;

  • امتیاز 2
لینک به ارسال

فرض میکنیم 2 پس دارم "تست اول" و "تست دوم" در همه صفحات کوئری گرفته شده فقط همین 2 مطلب نمایش داده میشه در صورتی که تعداد مطالب اون دسته بیشتر از 2 تاست (خودم تعیین کردم 2 تا نشون بده)

این کد هم تست کردم جواب نداد + کد زیر در فانکشن:


function paginate() {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => true,
'type' => 'plain'
);
if( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
}

ویرایش شده توسط AR@KST@R
لینک به ارسال

من نتونستم بخش مربوط به صفحه بندی کوئری را پیداکنم

چک کنید اگر کدی شبیه این برای معرفی آرگومانهای صفحه بندی به کوئری ندادید اضافه کنید

و فکر می کنتم در این حالت باید تعداد پست های قابل نمایش را -1 بگذارید تا همه را صفحه بندی شده نمایش دهد


<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$posts = query_posts("category_name=blog&paged=$paged"); if (have_posts()) : while (have_posts()) : the_post(); ?>

اینجا رو هم مطالعه کنید بد نیست

http://codex.wordpress.org/Pagination#Adding_the_.22paged.22_parameter_to_a_query

  • امتیاز 3
لینک به ارسال

مرسی ولی همه این ها را قبلا" خونده و تست کرده بودم و جواب نگرفتم و این خیلی عجیبه !

لینک به ارسال

من نتونستم بخش مربوط به صفحه بندی کوئری را پیداکنم

چک کنید اگر کدی شبیه این برای معرفی آرگومانهای صفحه بندی به کوئری ندادید اضافه کنید

و فکر می کنتم در این حالت باید تعداد پست های قابل نمایش را -1 بگذارید تا همه را صفحه بندی شده نمایش دهد


<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$posts = query_posts("category_name=blog&paged=$paged"); if (have_posts()) : while (have_posts()) : the_post(); ?>

اینجا رو هم مطالعه کنید بد نیست

http://codex.wordpress.org/Pagination#Adding_the_.22paged.22_parameter_to_a_query

  • امتیاز 2
لینک به ارسال

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

کدهای کوئری رو چک کنید ببیند کوئری در انتها ریست شده یا نه؟ + کدی که ایمان داد رو تست کنید.

  • امتیاز 2
لینک به ارسال

بررسی کنید اگر کوئری قبل از کوئری دسته گرفته شده، ریست کنید

لینک به ارسال

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

کدهای کوئری رو چک کنید ببیند کوئری در انتها ریست شده یا نه؟ + کدی که ایمان داد رو تست کنید.

بررسی کنید اگر کوئری قبل از کوئری دسته گرفته شده، ریست کنید

بله این نکته رو میدونم که باید کوئری ریست بشه, مرسی.

خوب مشکل حل شد بریم سر آموزش:

کد زیر را در functions.php قرار دهید:


function paginate() {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => true,
'type' => 'plain'
);
if( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
}

این کد هم برای نمایش دسته ها + تگ های پست سفارشی taxonomy-{taxonomy}.php


<?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query();
if(!empty($wp->query_vars['library-cat'])){ $terms = $wp->query_vars['library-cat']; $taxonomy = 'library-cat'; }
if(!empty($wp->query_vars['library-tags'])){ $terms = $wp->query_vars['library-tags']; $taxonomy = 'library-tags'; }
$paged = ($wp->query_vars['page']) ? $wp->query_vars['page'] : 1;
$args = array(
'post_type' => 'library',
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $terms
)
)
);
$wp_query->query( $args ); ?>
<?php if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?PHP endwhile; endif; ?>
<?php paginate(); ?>
<?php $wp_query = null; $wp_query = $temp;?>

موفق باشید

  • امتیاز 3
لینک به ارسال
  • 2 سال بعد...

بله این نکته رو میدونم که باید کوئری ریست بشه, مرسی.

خوب مشکل حل شد بریم سر آموزش:

کد زیر را در functions.php قرار دهید:


function paginate() {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => true,
'type' => 'plain'
);
if( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
}

این کد هم برای نمایش دسته ها + تگ های پست سفارشی taxonomy-{taxonomy}.php


<?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query();
if(!empty($wp->query_vars['library-cat'])){ $terms = $wp->query_vars['library-cat']; $taxonomy = 'library-cat'; }
if(!empty($wp->query_vars['library-tags'])){ $terms = $wp->query_vars['library-tags']; $taxonomy = 'library-tags'; }
$paged = ($wp->query_vars['page']) ? $wp->query_vars['page'] : 1;
$args = array(
'post_type' => 'library',
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $terms
)
)
);
$wp_query->query( $args ); ?>
<?php if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?PHP endwhile; endif; ?>
<?php paginate(); ?>
<?php $wp_query = null; $wp_query = $temp;?>

موفق باشید

سلام

منم همین مشکل رو دارم. طبق این آموزش هم پیش رفتم، ولی ی مشکل دارم و اونم اینه که وقتی روی شماره صفحه ها کلیک می کنم اررور صفحه 404 رو میده. فکر کنم با پیوند یکتا مشکل داره

ممنون میشم راهنماییم کنین.

با تشکر

لینک به ارسال
  • 1 سال بعد...

سلام منم دقیقا همین مشکل رو داشتم و با این کد php wp_pagenavi( array( 'query' => $query_free_all  )  ); مشکل حل شد و صفحه بندی اومد - اما مشکلی که داره اینه که وقتی روی شماره صفحات کلیک میکنم ارور404 میده (مثل دوست قبلی) - بنظرتون مشکل چیه و چجوری برطرف میشه؟

لینک به ارسال
  • 10 ماه بعد...

منم مشکلی مشابه همین دارم 

میخوام آخرین نوشته های یک دسته رو به صورت جدولی نشان بدم

rr.png.ec53581e5bf135ecbacede15ec382577.png.b9eb3c4faf9f7f4cc48795d50e8c2b19.png

و از این قالب استفاده میکنم

tehran-mezon.php

ولی مشکلم اینه که دیگه افزونه صفحه بندی کار نمیکنه

لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...