एक प्लगइन से WPLANG की स्थापना


11

एक ही साइट वर्डप्रेस के लिए, भाषा से सेट किया जाना चाहिए wp-config.phpकी WPLANG, लेकिन यह मेरी प्लगइन से सेट जो डिफ़ॉल्ट मान ओवरराइड करने के लिए संभव है?


1
लिंक इस पृष्ठ के दाहिने कॉलम में भी दिखाई देता है, लेकिन मुझे लगता है कि यह टिप्पणियों में एक समान स्थिति के लिए एक और दृष्टिकोण पर ध्यान देने योग्य है: wordpress.stackexchange.com/a/53678/12615
brasofilo

जवाबों:


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
@MayeenulIslam आपको फ़ंक्शन की प्रतिलिपि नहीं बनानी चाहिए get_locale(), यह कोर का एक उद्धरण है। आप सभी की जरूरत है अंतिम कोड ब्लॉक है।
FUXIA

महान @toscho, बहुत धन्यवाद। हालाँकि, यह काम नहीं करता है अगर मैं अपने स्थानीय MAMPpro पर OPCache स्विच करता हूं ... तो क्या यह पसंद है या इसका कोई समाधान है?
राफेल जीगर

@RaphaelJeger यह OPCache से प्रभावित नहीं हो सकता, केवल एक आउटपुट चेच ही ऐसा कर सकता है। यदि आपको अभी भी यह समस्या है, तो एक नया प्रश्न पूछें।
FUXIA
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.