رفتن به مطلب

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


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

سلام

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

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


<?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); ?>

لینک به ارسال

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


<?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/

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

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

لینک به ارسال

مشکل همینه!

خطای 404 میده

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

لینک به ارسال

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

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

لینک به ارسال

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

اینو تست کنید


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

لینک به ارسال

فرض میکنیم 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

لینک به ارسال

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

لینک به ارسال

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

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

و فکر می کنتم در این حالت باید تعداد پست های قابل نمایش را -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

لینک به ارسال

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

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

لینک به ارسال

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

لینک به ارسال

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

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

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

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

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

کد زیر را در 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;?>

موفق باشید

لینک به ارسال
  • 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

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

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...