رفتن به مطلب

مشکل این کد چیه ؟!


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

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

من کد زیر رو به این صورت شرطی کردم، به نظرتون درسته یا نه ؟!


<?php if (wp_pagination('')) : ?>
<section class="section wow fadeIn">
<div class="box">
<div class="pagination"><?php wp_pagination(''); ?></div>
</div>
</section>
<?php endif; ?>

لینک به ارسال

سلام ، به نظر که مشکلی نداره ، کد میگه که اگر چیزی به نام wp_pagination وجود خارجی داشت کد زیر رو نمایش بده.

(فقط در صورتی کار نمیکنه که wp_pagination در هر صورت وجود خارجی داشته باشه)

یه نوع دیگه شرطی برای صفحات قبل و بعد:

http://wordpress.stackexchange.com/questions/141706/conditional-statement-to-show-pagination

لینک به ارسال

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


<ul><li id="max-paged"><span>صفحه 1 از 2</span></li><li><span class='page-numbers current'>1</span></li><li><a class='page-numbers' href='http://localhost/takwarez/category/film/page/2/'>2</a></li><li><a class="next page-numbers" href="http://localhost/takwarez/category/film/page/2/">بعدی »</a></li></ul>

یعنی اصلاً از اون کدهای وسط پیروی نمیکنه !!! مشکلش چیه به نظرتون !؟

لینک به ارسال

wp_pagination احتمالاً تابعی هست که خروجی اون به شکل echo هست و بیشتر اینجور تابع‌ها، خروجی void به شما می‌دن و عملگر منطقی هم به شما همیشه false رو میده. چون false میده کد وسط اجرا نمیشه، ولی پیج‌ها اکو می‌شن.

باید از یه تابع که از return برای خروجی استفاده می‌کنه، استفاده کنید یا از ob_start کمک بگیرید.

موفق باشید.

لینک به ارسال

اگه میخواید چک کنید تابعش وجود داره یا نه از function_exists() استفاده کنید .


if (function_exists('wp_pagination'))

لینک به ارسال

اگه میخواید چک کنید تابعش وجود داره یا نه از function_exists() استفاده کنید .


if (function_exists('wp_pagination'))

چک‌کردن وجود تابع کمکی به اینکه آیا صفحه‌ای در پس یا پیش وجود داره، نمیکنه، چون به هر حال تابع وجود داره ولی چون برگه‌ای نیست، یا void برمی‌گردونه یا mixed.

لینک به ارسال

چک‌کردن وجود تابع کمکی به اینکه آیا صفحه‌ای در پس یا پیش وجود داره، نمیکنه، چون به هر حال تابع وجود داره ولی چون برگه‌ای نیست، یا void برمی‌گردونه یا mixed.

اکی

محتویات تابع wp_pagination رو نداری ؟ @mahdi.a

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

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

https://codex.wordpress.org/Pagination

لینک به ارسال

اکی

محتویات تابع wp_pagination رو نداری ؟ @mahdi.a


<?php
function wp_pagination() {
global $wp_query;
$big = 12345678;
$page_format = paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'type' => 'array'
) );
if( is_array($page_format) ) {
$paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
echo '<ul>';
echo '<li id="max-paged"><span>صفحه '. $paged . ' از ' . $wp_query->max_num_pages .'</span></li>';
foreach ( $page_format as $page ) {
echo "<li>$page</li>";
}
echo '</ul>';
}
}
?>

لینک به ارسال

خب این تابع اصلا هیچ خروجی رو به صورت return بر نمیگردونه که بخواد چک کنه صقحه ای وجود داره یا نه .

لینک به ارسال

این تابع خودش در صورت داشتن صفحه بعدی اجرا می شه شما باید تابعتون رو به قالب دلخواه تغییر بدید


<?php
function wp_pagination() {
global $wp_query;
$big = 12345678;
$page_format = paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'type' => 'array'
) );
if( is_array($page_format) ) {
$paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
echo '<section class="section wow fadeIn">';
echo '<div class="box">';
echo '<div class="pagination">';
echo '<ul>';
echo '<li id="max-paged"><span>صفحه '. $paged . ' از ' . $wp_query->max_num_pages .'</span></li>';
foreach ( $page_format as $page ) {
echo "<li>$page</li>";
}
echo '</ul>';
echo '</div>';
echo '</div>';
echo '</section>';

}
}
?>

و در محل نمایش


<?php wp_pagination(''); ?>

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

لینک به ارسال

سلام اقا ایمان ...

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

تشکر

لینک به ارسال

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

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

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

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

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

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

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

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

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