رفتن به مطلب

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


jafar1374

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

سلام خسته نباشید

من برا یکی از دسته های سایتم یک صفحه اختصاصی درست کردم اما وقتی می زنم که بره صفحه بعد ، تو آدرس بار آدرسش میاد ولی به صفحه بعد نمیره

لطفا یه راهنمایی بفرمایید

با سپاس

لینک به ارسال

به انجمن خوش آمدید

صفحه اختصاصی رو چطوری درست کردید؟

لینک به ارسال

به انجمن خوش آمدید

صفحه اختصاصی رو چطوری درست کردید؟

سلام ممنون از خوش امدگویی شما

برا دسته بندی محصولات یه صفحه درست کردم بنام products (فقط هم تو این قسمت مشکل داره جاهای دیگه مشکلی ندارن)

کدش رو می دم لطف کنید ببینید (در ضمن برای صفحه بندی از افزونه استفاده نکردم و کد گذاشتم اگه خواستید کد فانکشنش رو هم براتون می ذارم)


<?php
/*
Template Name: products
*/
?>
<?php get_header(); ?>
<body>
<div id="main">
<div id="contentpost2">
<?php query_posts('cat=2&showposts=16'); ?>
<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
<div class='itemBox'>
<div class='item'>
<div class='pic'><span></span><img src='<?php if(get_post_meta($post->ID, 'img',true)!= "") : ?><?php echo get_post_meta($post->ID, 'img',true); ?><?php else : ?><?php bloginfo('template_url'); ?>/images/English-Result-All-Levels-2011-small.jpg<?php endif; ?>' width="200" height="160" alt='<?php the_title(); ?>' /></div>
<div class='title'>
<div class='titleMid'><a target="_blank" href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a></div>
</div>
<div class="sharh">
<div class='titleMid'>
<?php if(get_post_meta($post->ID, 'قیمت',true)!= "") : ?><?php echo get_post_meta($post->ID, 'قیمت',true); ?><?php else : ?>ندارد<?php endif; ?></div>
</div>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
<?php if (function_exists("paginate")) { paginate(); } ?>
</div>
</div>
<?php get_footer(); ?>
</body>

لینک به ارسال

میتونه از functions باشه! فانکشن را قرار بدید

این کد مربوطه شماره بندی در فانکشنه :


function paginate($args = null) {
$defaults = array(
'page' => null, 'pages' => null,
'range' => 3, 'gap' => 3, 'anchor' => 1,
'before' => '<div class="wp-pagenavi">', 'after' => '</div>',
'title' => __('صفحات'),
'nextpage' => __('بعدی','mandegarweb'), 'previouspage' => __('قبلی','patomatlovers'),
'echo' => 1
);
$r = wp_parse_args($args, $defaults); extract($r, EXTR_SKIP);
if (!$page && !$pages) {
global $wp_query;
$page = get_query_var('paged');
$page = !empty($page) ? intval($page) : 1;
$posts_per_page = intval(get_query_var('posts_per_page'));
$pages = intval(ceil($wp_query->found_posts / $posts_per_page));
}
$output = "";
if ($pages > 1) {
$output .= "$before<span class=\"pages\">$title</span>";
$ellipsis = "<span class=\"current\">...</span>";
if ($page > 1 && !empty($previouspage)) {
$output .= "<a href='" . get_pagenum_link($page - 1) . "'>$previouspage</a>";
}
$min_links = $range * 2 + 1;
$block_min = min($page - $range, $pages - $min_links);
$block_high = max($page + $range, $min_links);
$left_gap = (($block_min - $anchor - $gap) > 0) ? true : false;
$right_gap = (($block_high + $anchor + $gap) < $pages) ? true : false;
if ($left_gap && !$right_gap) {
$output .= sprintf('%s%s%s',
pagination(1, $anchor),
$ellipsis,
pagination($block_min, $pages, $page)
);
}
else if ($left_gap && $right_gap) {
$output .= sprintf('%s%s%s%s%s',
pagination(1, $anchor),
$ellipsis,
pagination($block_min, $block_high, $page),
$ellipsis,
pagination(($pages - $anchor + 1), $pages)
);
}
else if ($right_gap && !$left_gap) {
$output .= sprintf('%s%s%s',
pagination(1, $block_high, $page),
$ellipsis,
pagination(($pages - $anchor + 1), $pages)
);
}
else {
$output .= pagination(1, $pages, $page);
}
if ($page < $pages && !empty($nextpage)) {
$output .= "<a href='" . get_pagenum_link($page + 1) . "'>$nextpage</a>";
}
$output .= $after;
}
if ($echo) {
echo $output;
}
return $output;
}
function pagination($start, $max, $page = 0) {
$output = "";
for ($i = $start; $i <= $max; $i++) {
$output .= ($page === intval($i))
? "<span class=\"current\">$i</span>"
: "<a href='" . get_pagenum_link($i) . "'>$i</a>";
}
return $output;
}
?>
<?php

لینک به ارسال

سلام ، چون کاستوم کوری هست باید شماره صفحه رو هم توی کوری قرار بدید ، کد زیر رو نگاه کنید :


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=2&showposts=16&paged'.$paged); ?>

لینک به ارسال

سلام ، چون کاستوم کوری هست باید شماره صفحه رو هم توی کوری قرار بدید ، کد زیر رو نگاه کنید :


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=2&showposts=16&paged'.$paged); ?>

سلام

منظور شما اینه که بعد از شماره 1 ، 2 رو هم وارد کنیم ؟


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;2;
query_posts('cat=2&showposts=16&paged'.$paged); ?>

اگه اینجوری منظورتونه ! انجام دادم ولی نشد :(

به کد صفحه بندی هم دست نزدم

لینک به ارسال

منظور از شماره صفحه همون مقدار paged بود . کدی که دادند نیاز به تغییر ندارید

البته اگر جواب نداد این حالت را هم تست کنید


<?php
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
query_posts('cat=2&showposts=16&paged'.$paged); ?>

کد فراخوانی تابع صفحه بندی


<?php if (function_exists("paginate")) {
$args = array(
'page' => $paged ,
'pages' => (int)$wp_query->found_posts
);
paginate($args); } ?>

لینک به ارسال
منظور از شماره صفحه همون مقدار paged بود . کدی که دادند نیاز به تغییر ندارید البته اگر جواب نداد این حالت را هم تست کنید
 

کد فراخوانی تابع صفحه بندی

 $paged , 'pages' => (int)$wp_query->found_posts ); paginate($args); } ?> 

سلام

این کد رو قرار دادم نمی دونم یه ادفعه از کجا اومد تو شماره بندی صفحات 18 تا صفحه درست کرد ! در حالیکه دو صفحه بیشتر نداره !

و مثل قبل هم تو هم صفحه اول می مونه

لینک به ارسال

تست کنید

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=2&showposts=16&paged'.$paged); ?>


<?php if (function_exists("paginate")) {
$fp = (int)$wp_query->found_posts;
$args = array(
'page' => $paged ,
'pages' => ceil($fp / 16)
);
paginate($args); } ?>

لینک به ارسال

من دقیقا همین مشکل رو داشتم اینطوری مشکلم حل شد که از ریست کوئری در آخر حلقه وردپرس استفاده کردم.<?php wp_reset_query();?>

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


<?php
/*
Template Name: products
*/
?>
<?php get_header(); ?>
<body>
<div id="main">
<div id="contentpost2">
<?php query_posts('cat=2&showposts=16'); ?>
<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
<div class='itemBox'>
<div class='item'>
<div class='pic'><span></span><img src='<?php if(get_post_meta($post->ID, 'img',true)!= "") : ?><?php echo get_post_meta($post->ID, 'img',true); ?><?php else : ?><?php bloginfo('template_url'); ?>/images/English-Result-All-Levels-2011-small.jpg<?php endif; ?>' width="200" height="160" alt='<?php the_title(); ?>' /></div>
<div class='title'>
<div class='titleMid'><a target="_blank" href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a></div>
</div>
<div class="sharh">
<div class='titleMid'>
<?php if(get_post_meta($post->ID, 'قیمت',true)!= "") : ?><?php echo get_post_meta($post->ID, 'قیمت',true); ?><?php else : ?>ندارد<?php endif; ?></div>
</div>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query();?>
<?php if (function_exists("paginate")) { paginate(); } ?>
</div>
</div>
<?php get_footer(); ?>
</body>

لینک به ارسال

تست کنید

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=2&showposts=16&paged'.$paged); ?>


<?php if (function_exists("paginate")) {
$fp = (int)$wp_query->found_posts;
$args = array(
'page' => $paged ,
'pages' => ceil($fp / 16)
);
paginate($args); } ?>

پارسا جان نشد

من دقیقا همین مشکل رو داشتم اینطوری مشکلم حل شد که از ریست کوئری در آخر حلقه وردپرس استفاده کردم.<?php wp_reset_query();?>

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

کد شما رو که گذاشتم کلا صفحه بندی ناپدید شد !

لینک به ارسال


<?php if (function_exists("paginate")) {
$fp = $found_posts;
$args = array(
'page' => $paged ,
'pages' => ceil($fp / 16)
);
paginate($args); } ?>

لینک به ارسال

سلام دستتون درد نکنه

ولی بازم نشد از اون تایپیک هم استفاد کردم ولی کار نکرد :(

از کدهای و فانکشن های مختلف شماره بندی صفحه هم استفاده کردم ولی اونا هم همین مشکل رو داشتند :unsure:

لینک به ارسال

خب با تشکر از راهنمایی همه مخصوصا پارسای عزیز

از کدکس وردپرس که imanfakhar عزیز آدرس داده بود استفاده کردم

کلا این خط کد رو که می گفت فلان دسته بندی مثلا تو یه صفحه چند تا مطلب رو نمایش بده رو حذف کردم و مشکل از همون کد بود ..


<?php query_posts('cat=2&showposts=16'); ?>

و بجاش از کد ...


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('posts_per_page=16&paged=' . $paged);
?>

با تشکر از همه :wub:

لینک به ارسال
  • 2 هفته بعد...

خب با تشکر از راهنمایی همه مخصوصا پارسای عزیز

از کدکس وردپرس که imanfakhar عزیز آدرس داده بود استفاده کردم

کلا این خط کد رو که می گفت فلان دسته بندی مثلا تو یه صفحه چند تا مطلب رو نمایش بده رو حذف کردم و مشکل از همون کد بود ..


<?php query_posts('cat=2&showposts=16'); ?>

و بجاش از کد ...


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('posts_per_page=16&paged=' . $paged);
?>

با تشکر از همه :wub:

سلام

آقا من اصلا حواسم نبود (رو لوکال دارم کار می کنم) امروز به کدی که حودم دادم :


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('posts_per_page=16&paged=' . $paged);
?>

نگاه کردم و با خودم گفتم پس این کدوم دسته بندی رو باید نشون بده و تست کردم دیدم کار نمی کنه ! شماره بندی صفحه بندیش درست شده بود ولی همونطور ک می بینید دسته بندی درش وجود نداره :o

حالا چطور دسته بندی (

cat=2

) رو در این کد وارد کنیم که هم دسته بندیش درست بشه و هم شماره بندی صفحاتش درست بشه ؟

ممنون

لینک به ارسال

پارسا جان وقتی اون حالت رو اضافه می کنم شماره بندی صفحه از کار می افته :(

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

ویرایش شده توسط jafar1374
لینک به ارسال

این کار نکرد؟

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=2&posts_per_page=16&paged=' . $paged);
?>

لینک به ارسال

این کار نکرد؟

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=2&posts_per_page=16&paged=' . $paged);
?>

دستت درد نکنه ایندفه درست شد :wub:

من بین

cat=2 و posts_per_page=16&paged= (&)رو نمی ذاشتم.

سپاس از توجه شما

لینک به ارسال

سلام دوستان

من تو یه قالبم یه page اختصاص درست کردم .اما از کد بالا که استفاده می کنم فقط مطلب page رو نشون میده و مطالب دسته خاص رو نشون نمیده و همینطور اصلا شماره صفحات رو هم نشون میده:


<?php
/*
Template Name: وبلاگ
*/
?>
<?php get_header(); ?>
<body class="singlebody">
<div id="header-single">
<div class="container">
<div class="topo clearfix">
<div id="boxLogo">
<div></div>
</div>
</div>
</div>
</div>
<div id="contact-form" class="fancybox">
</div>
<div id="content">
<div class="container-main-weblog">
<div class="container-weblog-right">
<h1 class="container-weblog-title"><?php the_title(); ?></h1>
<div class="container-weblog">
<ul>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=1&posts_per_page=5&paged=' . $paged);
?>
<li class="items-weblog">
<div class="image-weblog">
<div class="bottom-image-weblog">
<?php if( has_post_thumbnail() ) : ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('weblog'); ?></a>
<?php else : ?>
<img src="<?php bloginfo( 'stylesheet_directory' );?>/images/noimage150150.jpg" alt="Default Icon" title="Default Icon" style="height: 50px,width:55px;" />
<?php endif; ?>
</div>
</div>
<h2 class="title-weblog"><a href="<?php the_permalink(); ?>">
<?php the_title(); ?></a></h2><div class="excpert-weblog"><?php the_excerpt(); ?></div>
<div class="bottom-items-weblog">
</div>
<div class="text-items-weblog">
<div class="views-weblog"><?php echo getPostViews(get_the_ID()); ?></div>
<div class="comment-weblog"><?php comments_number('فاقددیدگاه','یک دیدگاه','% دیدگاه'); ?></div>
</div>
</li>
</ul>
<div id="pagenom">
<?php if (function_exists('wp_corenavi')) wp_corenavi(); ?>
</div>
</div>
</div>
<div class="left-sidebar-weblog">
<span class="top-left-sidebar">
<span class="iconPage icondarabareyema"></span>
</span>
<div class="middle-left-sidebar" style="height: 456px;">
<?php get_sidebar("left-left-sidebar"); ?>
</div>
<span class="bottom-left-sidebar"></span>
<span class="saye-left-sidebar" ></span>
</div>
</div>
</div>
<?php get_footer(); ?>

لینک به ارسال

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

لینک به ارسال

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

نمونه

لینک به ارسال

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

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

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

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

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

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

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

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

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