رفتن به مطلب

شماره صفحه


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

سلام

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

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

وقتی کد


per_number($content)

رو در قسمت پایانی کد مورد نظر قرار میدم (که میشه این)


<?php echo per_number($links); ?>

نمایش اعداد فارسی میشه اما دیگه صفحات دیگر نات فاید میشه چون آدرس صفحات فارسی میشه

...

لینک به ارسال

ممنون از جوابتون

فونتی که استفاده میکنم چون از اعداد انگلیسی پشتیبانی میکنه (بر خلاف فونتی مثل B Yekan) نمایش اعداد به مشکل بر می‌خوره

استفاده از دو تا فونت هم که ...

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

استفاده از دو فونت چه ایرادی داره؟

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

از ژنراتور هم می تونید استفاده کنید

http://mandegarweb.com/file/generator/farsi-font/

لینک به ارسال

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

راه ساده رو ایمان عزیز اشاره کردن

برای نمایش اعداد فارسی باید به تابع paginate_links هوک بزنید.

https://core.trac.wordpress.org/browser/tags/4.0/src/wp-includes/general-template.php

تابع رو دقیق بررسی نکردم اما بنظر خروجی روی متغییر $n باید باشه.

لینک به ارسال

ممنون آقا مرتضی

حرف‌تون درست بود

کد زیر نتیجه مورد نظر رو میده


$page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>" . $args['before_page_number'] . per_number(number_format_i18n( $n )) . $args['after_page_number'] . "</a>";

حالا چطور میشه این تغییر رو بدون دست‌کاری هسته وردپرس انجام داد؟

لینک به ارسال

با هوک هایی مثل add_filter میتونید روی این نوع توابع کار کنید

لینک به ارسال

ممنون اما هرچی سعی کردم نتونستم جوابی بگیرم

فقط اینکه یه راه راحت‌تر پیدا کردم

در اینجا


https://core.trac.wordpress.org/browser/tags/4.0/src/wp-includes/functions.php#L168

این رو اضافه کنیم


return apply_filters( 'number_format_i18n', per_number($formatted) );

مشکل حل

اما روش‌ش رو نمی‌دونم

لینک به ارسال

دوستان عزیز مشکل این کد من چیه که جواب نمیده؟


function tem_fa_num( $n ){
return str_replace( "number_format_i18n( $n )", "per_number(number_format_i18n( $n ))", $n );
}
add_filter( 'paginate_links', 'tem_fa_num' );

لینک به ارسال

اگه منظوررتون این هست


return apply_filters( 'number_format_i18n', per_number($formatted) );

مشکلی نیست فقط این‌که این هم تغییر در هسته وردپرس هست و خوب مشکلات خودش رو داره (هر دفعه وردپرس به روز میشه باید دید این قسمت هست یا نه (: )

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

لینک به ارسال
  • 1 سال بعد...

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

لینک به ارسال

:D میتونید از کد زیر استفاده کنید 

add_filter('number_format_i18n' , 'mramin_persian_numbers' );
function mramin_persian_numbers( $formatted ) {
  return str_replace(
        range( 0, 9 ),
        array( '۰','۱','۲','۳','۴','۵','۶','۷','۸','۹' ),
        $formatted
    );
}

گفتم شاید کسی نیاز داشته باشه

لینک به ارسال

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

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

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

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

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

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

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

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

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