سعید شعبانی

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

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

دوستان عزیز خسته نباشید

من کد زیر را داخل فانکشن قرار دادم


/*pagination*/
function pagination($prev = '»', $next = '«') {
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('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __($prev),
'next_text' => __($next),
'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 );
};

و اون را با کد زیر در قالب فراخوانی می کنم


<div class="pagenation">
<?php pagination('«', '»'); ?>
</div>

ولی وقتی که هیچ شماره صفحه ای هم نیست کد زیر چاپ میشه.


<div class="pagenation">
</div>

چجوری می تونم کاری کنم که کد ها فقط زمانی که صفحه ای وجود داشت چاپ شوند؟

1

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


لینک به پست

بررسی کنید

$wp_query->max_num_pages

بیشتر از 1 باشد

1

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


لینک به پست

تصحیح کد اولیتون


function pagination($prev = '»', $next = '«') {
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('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __($prev),
'next_text' => __($next),
'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' ) );
return paginate_links( $pagination );
};

بعدم این کد رو برای نمایش pagination توی پوستت قرار بده


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php pagination('«', '»'); ?>
</div>
<?php endif ?>

2

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


لینک به پست

ارسال شده در (ویرایش شده)

بررسی کنید

$wp_query->max_num_pages

بیشتر از 1 باشد

مقدار این کجا هست؟

تصحیح کد اولیتون


function pagination($prev = '»', $next = '«') {
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('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __($prev),
'next_text' => __($next),
'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' ) );
return paginate_links( $pagination );
};

بعدم این کد رو برای نمایش pagination توی پوستت قرار بده


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php pagination('«', '»'); ?>
</div>
<?php endif ?>

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

ویرایش شده در توسط سعید شعبانی
1

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


لینک به پست

ارسال شده در (ویرایش شده)

من مشکلی با نمایش نداشتم

post-1230-0-33628900-1372779436_thumb.jp

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

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


لینک به پست

برای من فقط کد زیر اجرا میشه


<div class="pagenation"> </div>

0

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


لینک به پست

ارسال شده در (ویرایش شده)

مطمئن شید این قسمت درست در داخل loop قرار گرفته باشه


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php echo pagination('«', '»'); ?>
</div>
<?php endif ?>

باید از echo استفاده میکردم ... کد تصحیح شد ..

ویرایش شده در توسط mehral
1

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


لینک به پست

کد اولی شما هم درسته ولی


<div class="pagenation">
</div>

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

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

1

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


لینک به پست

ارسال شده در (ویرایش شده)

مطمئن شید این قسمت درست در داخل loop قرار گرفته باشه


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php echo pagination('«', '»'); ?>
</div>
<?php endif ?>

باید از echo استفاده میکردم ... کد تصحیح شد ..

مطمئن هستم. من کد زیر را داخل فانکشن گذاشتم


function pagination($prev = '»', $next = '«') {
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('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __($prev),
'next_text' => __($next),
'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' ) );
return paginate_links( $pagination );
};

و این کد را هم داخل صفحه مورد نظر که اینجا صفحه اصلی هست


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php pagination('«', '»'); ?>
</div>
<?php endif ?>

کد اولی شما هم درسته ولی


<div class="pagenation">
</div>

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

چجوری؟ میشه بگید کجای کد و چجوری بگذارمش

ویرایش شده در توسط سعید شعبانی
0

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


لینک به پست

گفتم که کد تصحیح شد من فراموش کردم چاپش کنم کد جدید


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php echo pagination('«', '»'); ?>
</div>
<?php endif ?>

2

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


لینک به پست

ارسال شده در (ویرایش شده)

گفتم که کد تصحیح شد من فراموش کردم چاپش کنم کد جدید


<?php if ( count( pagination() ) ): ?>
<div class="pagenation">
<?php echo pagination('«', '»'); ?>
</div>
<?php endif ?>

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

ویرایش شده در توسط سعید شعبانی
2

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط dyvid
      سلام
      ببخشيد من افزونه amp رو نصب كردم منتهي الان پاك كردم ولي متاسفانه الان با صفحات ايندكس شده در حالت amp مواجه هستم
      چجوري ميتونم اين صفحات رو كه كش شدن از اين حالت خارج كنم
      تشكر
    • توسط m4n
      دوستان مشکل از چیه؟من افزونه wp page navi رو نصب کردم و طبق توضیحات گفته شده کد مربوطه اون رو که کد زیر هست


      <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>

      بین end while و end if قرار دادم اما بعضی شماره ها رو بزرگ نشون میده!چرا؟

    • توسط العبد
      با سلام
      سال نوتون مبارک.امیدوارم سال خوبی داشته باشین
      می خواستم از دوستان در مورد مشکلی که با ریدایرکت شدن صفحاتم دارم راهنمایی بخوام.به تازگی تعداد پست هام به اندازه ای شد که صفحه دوم ایجاد شد.اما وقتی میخوام برم به اون صفحه ریدایرکت میشم به صفحه اصلی سایت.متاسفانه با نصب افزونه pagenavi هم مشکل حل نشد.
      آدرس صفحه اصلی
      آدرس صفحه دوم
      ممنون میشم دوستان راهنمایی کنن
      با تشکر
    • توسط sajjad_fx
      سلام بر دوستان و اساتید عزیز
      بنده به مشکل عجیبی برخوردم که الان حدود دو ماهی میشه که دارم سرچ میکنم ولی هنوز نتونستم دلیلش رو بفهمم که چیه... چه تو فروم های خارجی چه داخلی، این شد که دست به دامن اساتید سایت وزین وردپرس فارسی شدم بلکه بتونید گره از این مشکل ما باز کنید... اما مشکل:
      وقتی تو صفحات سایت، میخوام بین صفحات جابجا بشم، بعد از رفرش شدن صفحه، به صفحه ی جاری برمیگرده، به چه صورت؟ مثلا بنده از افزونه ی userpro استفاده میکنم، وقتی که تو صفحه ی کاربران سایت، میخوام بین صفحات جابجا بشم، مثلا از صفحه ی اول برم صفحه ی دوم لیست کاربرا، بعد از رفرش شدن صفحه دوباره برمیگرده صفحه ی اول، این قضیه برای نمایش پروفایل کاربرا هم صادقه، یعنی وقتی رو پروفایل کاربری کلیک میکنم، برمیگرده به پروفایل خودم...
      لینک صفحه ی کاربران در سایت
      تو این صفحه وقتی رو صفحه ی دوم کلیک میکنید برمیگرده به صفحه ی اول دوباره، یا وقتی نمایش پروفایل رو کلیک میکنید برمیگرده به پروفایل خودتون(در صورتی که لاگین کرده باشید)
      تو سایتها که گشتم، بعضی نوشته بودن نوع صفحات یکتا رو به نام نوشته تغییر بدم، یا مثلا رو نوع سفارشی با این ساختار %%postname%% تنظیم کنم، که متاسفانه مشکل حل نشد...
      این قضیه فقط برای صفحات این افزونه نیست، افزونه ی دیگه ای به نام nextgen gallery هم همین مشکل رو داره، یعنی وقتی میخوام برم صفحه ی دوم گالری، بعد از رفرش شدن صفحه دوباره برمیگرده به صفحه ی اول گالری...
      لینک صفحه ی گالری گفته شده
      از دوستان و اساتید بزرگوار خواهشمندم راه حلی پیش پای بنده بگذارن بلکه از شر این مشکل خلاص بشم...
      بی نهایت سپاسگذارم
      یا علی