একটি প্লাগইন থেকে ডাব্লুপিএলএং সেট করা হচ্ছে


11

একটি একক সাইটে ওয়ার্ডপ্রেস জন্য ভাষা থেকে সেট করা আবশ্যক wp-config.php'র WPLANG, কিন্তু এটা আমার প্লাগইন থেকে সেট যা ডিফল্ট মান অগ্রাহ্য করা সম্ভব?


উত্তর:


16

ইন wp-includes/l10n.phpআপনি ফাংশন পাবেন get_locale()। এটি একটি ফিল্টার সরবরাহ করে; আপনি ভাষাটি সেট করতে পারেন এবং ধ্রুবকটিকে উপেক্ষা করতে পারেন:

function get_locale() {
    global $locale;

    if ( isset( $locale ) )
        return apply_filters( 'locale', $locale );

    // WPLANG is defined in wp-config.
    if ( defined( 'WPLANG' ) )
        $locale = WPLANG;

    // If multisite, check options.
    if ( is_multisite() ) {
        // Don't check blog option when installing.
        if ( defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) )
            $ms_locale = get_site_option('WPLANG');

        if ( $ms_locale !== false )
            $locale = $ms_locale;
    }

    if ( empty( $locale ) )
        $locale = 'en_US';

    return apply_filters( 'locale', $locale );
}

প্লাগইন প্রতি এটি পরিবর্তন করতে ফিল্টার ব্যবহার করুন 'locale'। উদাহরণ:

add_filter( 'locale', 'wpse_52419_change_language' );
function wpse_52419_change_language( $locale )
{
    return 'de_DE';
}

ম্যাজিকের মতো কাজ করে। কিন্তু আমার ক্ষেত্রে, এটি একটি ত্রুটির ফিরে পাবে: Fatal error: Cannot redeclare get_locale()। তাই আমি সহজভাবে থেকে ফাংশন নাম পরিবর্তন get_locale()করতে nano_get_locale(), এবং এটি চমৎকার কাজ করছে।
মইনুল ইসলাম

3
@ মায়িনুল ইসলাম আপনার এই ফাংশনটি অনুলিপি করা উচিত নয়get_locale() , এটি মূল দিক থেকে একটি উদ্ধৃতি। আপনার যা দরকার তা হ'ল শেষ কোড ব্লক।
ফুসিয়া

দুর্দান্ত @ টসচো, অনেক ধন্যবাদ যাইহোক, আমি যদি আমার স্থানীয় এমএএমপিপ্রোতে ওপিসিচ চালু করি তবে এটি কাজ করে না ... এটি কি এর মতো বা কোনও সমাধান আছে?
রাফেল জেগার

@ রাফেলজেগার এটি ওপ্যাচে দ্বারা প্রভাবিত হতে পারে না, কেবল একটি আউটপুট চাচি এটি করতে পারে। আপনার যদি এখনও এই সমস্যা থেকে থাকে তবে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন।
ফুসিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.