انجمن


سوال : نمایش فارسی اعداد در افزونه wp-postviews  (۱۵ نوشته)

  • da77

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۷
    تشکر شده: ۱ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۸ بهمن ۱۳۹۰ - ۱۵:۳۶

    سلام ، من افزونه wp-postviews رو نصب کردم اما اعدادش فارسی نشون نمیده و لاتین نشون میده دوستان میشه بگن مشکل کجاست .

  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۸ بهمن ۱۳۹۰ - ۱۶:۱۸

    مشکل از پلاگین نیست
    پلاگین جلالی هم نصب باشه بهتره ولی
    شما باید فونت سایتتون رو تنظیم کنید تا اعداد به فارسی هم نمایش داده بشن

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۸ بهمن ۱۳۹۰ - ۱۶:۲۶

    یک راه دیگه هم هست که 100% کار میکنه.
    خروجی رو با تابع farsi_num فیلتر کنید.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    NESTED
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۸ بهمن ۱۳۹۰ - ۱۶:۵۵

    man4toman گفت:
    یک راه دیگه هم هست که 100% کار میکنه.
    خروجی رو با تابع farsi_num فیلتر کنید.

    اینجور موارد کمی پیشرفته هستن و هر کاربری به دنبالش نمیره تا اول یادش بگیره چیه و بعد بتونه ازش استفاده کنه
    البته این نظر شخصی من هست که به سادته ترین شکل موجود راهنمایی بشن

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    رضا ش
  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۸ بهمن ۱۳۹۰ - ۱۸:۰۱

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

    فایل wp-postviews.php رو باز کنید.
    بعد از خط 158 این رو اضافه کنید:
    $output = farsi_num($output);

    ;)

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    NESTED - da77 - رضا ش - mpspace - eshahnazi
  • رضا ش

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۶۲
    تشکر شده: ۲۱۷ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۹ بهمن ۱۳۹۰ - ۰۰:۱۸

    فایل wp-postviews.php رو باز کنید.
    بعد از خط 158 این رو اضافه کنید:

    البته اگه افزونه جلالی فعال باشه ;)

    if(function_exists(farsi_num))
    	$output = farsi_num($output);
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - mpspace
  • mpspace

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۸
    تشکر شده: ۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۳ اسفند ۱۳۹۰ - ۱۰:۴۱

    البته بر خلاف اون چیزی که Morteza میگه، این روش زیادم اصولی نیست چون اگه یه بار افزونه ی wp-post-views رو آپدیت کنیم همه چیز به حالت اول برمی گرده!

    میشه یه روش بگین که از داخل قالب بشه خروجی تابع the_views و توابع مشابه اون مانند توابع افزونه ی cystats رو به کمک تابع farsi_num تبدیل به اعداد فارسی کرد!

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۳ اسفند ۱۳۹۰ - ۱۱:۰۳

    دوست عزیز
    از لحاظ کد اصولی هست.
    حالا شیوه پیاده سازی میتونه تغییر کنه.
    شما میتونی تابع رو هوک کنی. با اینکار در هر آپدیت هم تغییر ایجاد نمیشه.

  • mpspace

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۸
    تشکر شده: ۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۳ اسفند ۱۳۹۰ - ۱۱:۰۵

    از پاسخ سریعتون ممنونم!

    شرمنده، من زیاد با این اصطلاحات آشنایی ندارم. هوک یعنی چی؟

    دقیقا باید چی کار کنم.

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۳ اسفند ۱۳۹۰ - ۱۲:۲۶

    این یک راه دیگه که شما بعد اپدیت شدن مشکل نداشته باشی:
    1- کد زیر در فانکشن بره:

    function the_views_fa() {
    		$post_views = intval(post_custom('views'));
    		$views_options = get_option('views_options');
    		if ($always || should_views_be_displayed($views_options)) {
    		$output = $prefix.str_replace('%VIEW_COUNT%', number_format_i18n($post_views), $views_options['template']).$postfix;
    		if(function_exists(farsi_num)){
    $output = farsi_num($output);
    }
    		echo apply_filters('the_views_fa', $output);
    	}
    }

    2- کد زیر برای نمایش فارسی تعداد نمایش:
    <?php if(function_exists('the_views_fa')) { the_views_fa(); } ?>

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mpspace - Parsa - eshahnazi
  • mpspace

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۸
    تشکر شده: ۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۴ اسفند ۱۳۹۰ - ۰۸:۲۵

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

    ولی حجم functions.php خیلی رفت بالا!

    یه موقع مشکل خاصی پیش نیاد؟!

    نتیجه ی راهنمایی شما:
    mpspace.zio.ir

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۴ اسفند ۱۳۹۰ - ۱۱:۰۸

    این نوع کدنویسی به خودی خود مشکل نداره مگر اینکه افزونه های هدفتون باعث فشار باشن.

  • Ghost

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۷۱
    تشکر شده: ۷۰ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ اسفند ۱۳۹۰ - ۰۸:۳۶

    سلام چجوری می تونم views رو به فارسی تبدیل کنم
    23 views
    23 بازدید

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۲ سال پیش
    ۸ اسفند ۱۳۹۰ - ۱۳:۵۵

    باید از کدی که بالا دادم یرایش کنید و بجاش فارسی بنویسید.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Saeed Fard - Ghost
  • TopMag

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳۱
    تشکر شده: ۱ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۱ اسفند ۱۳۹۰ - ۱۷:۲۵

    man4toman گفت:
    این یک راه دیگه که شما بعد اپدیت شدن مشکل نداشته باشی:
    1- کد زیر در فانکشن بره:

    function the_views_fa() {
    		$post_views = intval(post_custom('views'));
    		$views_options = get_option('views_options');
    		if ($always || should_views_be_displayed($views_options)) {
    		$output = $prefix.str_replace('%VIEW_COUNT%', number_format_i18n($post_views), $views_options['template']).$postfix;
    		if(function_exists(farsi_num)){
    $output = farsi_num($output);
    }
    		echo apply_filters('the_views_fa', $output);
    	}
    }

    2- کد زیر برای نمایش فارسی تعداد نمایش:
    <?php if(function_exists('the_views_fa')) { the_views_fa(); } ?>

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

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.