مهدی

شماره صفحه

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

سلام

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

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

وقتی کد


per_number($content)

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


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

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

...

0

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


لینک به پست

فونتش را فونت فارسی کنید مثل B Yekan (راحت ترین و بی دردسرترین راه)

3

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


لینک به پست

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

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

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

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

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

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


لینک به پست

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

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

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

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

2

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


لینک به پست

منظورم کاهش سرعت لود صفحه هست. بازم ممنون

راهی برای اصلاح اون کد ندارید؟ (:

0

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


لینک به پست

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

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

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

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

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

3

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


لینک به پست

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

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

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


$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>";

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

0

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


لینک به پست

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

2

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


لینک به پست

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

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

در اینجا


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

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


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

مشکل حل

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

0

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


لینک به پست

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


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

0

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


لینک به پست

شما مشکلتون با فیلتر پست 9 چی هست؟

0

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


لینک به پست

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


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

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

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

0

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


لینک به پست

این رو سرفرصت تست می گیرم.

3

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


لینک به پست

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

0

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


لینک به پست

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

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

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

1

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


لینک به پست

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

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

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

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


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

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

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


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