mahdi.a

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

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

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

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


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

0

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


لینک به پست

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

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

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

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

1

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


لینک به پست

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


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

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

0

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


لینک به پست

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

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

موفق باشید.

3

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


لینک به پست

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


if (function_exists('wp_pagination'))

1

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


لینک به پست

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


if (function_exists('wp_pagination'))

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

1

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


لینک به پست

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

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

اکی

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

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

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


لینک به پست

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

https://codex.wordpress.org/Pagination

1

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


لینک به پست

اکی

محتویات تابع 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>';
}
}
?>

0

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


لینک به پست

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

1

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


لینک به پست

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


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

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

3

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


لینک به پست

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

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

تشکر

1

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


لینک به پست

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

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

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

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


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

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

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


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