Wp_is_mobile () का उचित उपयोग?


18

मैंने उत्तरदायी विषय विकसित किया है और मैं इसे wordpress.org सबमिट करना चाहता हूं । इसे सबमिट करने से पहले मैं wp_is_mobile()अपनी थीम में उपयोग करना चाहता हूं, लेकिन फ़ंक्शन संदर्भ / wp के अनुसार यह एक बुरा विचार है क्योंकि यह एक बुरा विचार है :

आपको महसूस करना चाहिए कि यह विशेष रूप से एक मोबाइल फोन का पता नहीं लगाता है, क्योंकि टैबलेट को एक मोबाइल डिवाइस माना जाता है। कई सहायक विकल्पों के लिए प्लगइन्स क्षेत्र की जाँच करें। यह भी विषयों के लिए इस्तेमाल नहीं किया जाना चाहिए।

तो अगर मैं इसे अपने विषय के कार्यों में उपयोग करता हूं। इस तरह से:

add_filter('body_class','mobile_theme_body_class');     
function mobile_theme_body_class( $classes ){

    if ( wp_is_mobile() ){
        $classes[] = 'mobile';
    }
    else{
        $classes[] = 'desktop';
    }
    return $classes;
}

क्या मेरा विषय खारिज कर दिया जाएगा?

उप-प्रश्न:

अगर मैं ऊपर दिए गए कोड की तरह अपने फ़ंक्शन का उपयोग करता हूं और कैशिंग प्लगइन्स का उपयोग करता हूं जैसे (WP Super Cache) मेरा फ़ंक्शन गड़बड़ है तो (गलत निष्पादन करने या निष्पादित करने में विफल)?

आपके समय और उत्तर के लिए धन्यवाद ...


1
वे कह रहे हैं, हमारे पास यह कार्य है, लेकिन इसका उपयोग न करें, क्योंकि यह अच्छा नहीं है - कितना विडंबना है। मुझे नहीं पता कि आपका विषय इसे उपयोग करने के लिए अस्वीकार कर दिया गया था, लेकिन यदि ऐसा है, तो यह विडंबना को अधिकतम तक बढ़ा देगा। आखिरकार यह एक WP फ़ंक्शन है और नहीं पदावनत।
निकोलई

3
असली सवाल यह है कि आप मोबाइल / डेस्कटॉप क्लास क्यों जोड़ना चाहते हैं?
TheDeadMedic

1
@ TheDeadMedic का कहना है कि यह सच है, आप उदाहरण के लिए CSS मीडिया प्रश्नों के साथ काम कर सकते हैं ।
निकोलई

1
wp_is_mobile()वास्तव में एक मजाक से ज्यादा कुछ नहीं है और वास्तव में अविश्वसनीय है। यह उपयोगकर्ता पक्ष पर निर्भर करता है जिसे अंतिम उपयोगकर्ता द्वारा हेरफेर किया जा सकता है। आपको यह जानना होगा कि आपकी कार्यक्षमता 10% से अधिक मामलों में विफल हो जाएगी, इसलिए बड़ी मात्रा में मोबाइल उपयोगकर्ताओं को डेस्कटॉप सामग्री की पूर्ति होगी या नहीं, वे इसे पसंद करते हैं या आप इसे नहीं चाहते हैं
Pieter Goosen

4
तो यह वहाँ है और सिर्फ query_posts () की तरह बेकार है;
दीजो डेसिक

जवाबों:


31

बहुत ही सामान्य शब्द wp_is_mobile()में आपकी थीम स्टाइल के लिए नहीं है।

यह कैसे काम करता है: यह उपयोगकर्ता एजेंट स्ट्रिंग में डिवाइस के मूल नाम से मेल खाता है। इसलिए यदि कोई व्यक्ति स्ट्रिंग में हेरफेर करता है और गलत जानकारी भेजता है तो आप यह पता नहीं लगा सकते हैं कि यह किस उपकरण का है। और यह किसी भी डिवाइस का नाम नहीं लौटाता है, बस वापस आ जाता है trueयदि आप डेस्कटॉप पर नहीं हैंfalse

वर्डप्रेस इसका उपयोग कैसे करता है: वर्डप्रेस इसका इस्तेमाल स्टाइलिंग या कहीं भी CSS जोड़ने के लिए नहीं करता है। वर्डप्रेस इसका उपयोग उस चीज़ को जोड़ने या हेरफेर करने के लिए करता है, जो केवल मोबाइल डिवाइस (आकार और नाम पर ध्यान दिए बिना) होनी चाहिए। उदाहरण के लिए टच स्क्रिप्ट्स जोड़ने के लिए, व्यूपोर्ट, एडमिन हेडर में मोबाइल क्लास, मोबाइल बटन जोड़कर।

कैशिंग का प्रभाव : यदि आप कैशिंग प्लगइन का उपयोग करते हैं तो यह बेकार है। जैसा कि आपके कोड को हर बार निष्पादित नहीं किया जाता है, इसलिए आपको हर बार समान परिणाम मिलता है।

वर्डप्रेस ज्यादातर बैक-एंड पर इसका उपयोग करते हैं और लगभग हर कैशिंग प्लगइन बैक-एंड में कैशिंग को बाहर करता है या लॉग-इन उपयोगकर्ता के लिए कहता है। तो यह ठीक काम करता है।


1

wp_is_mobile()से संबंधित है HTTP USER AGENT, यह स्क्रीन आकार से संबंधित नहीं है

wp_is_mobile के आधार पर सही या गलत लौटना $_SERVER['HTTP_USER_AGENT']

अगर $_SERVER['HTTP_USER_AGENT']मोबाइल (Android या ब्लैकबेरी या तो ..) शामिल हैं,

फिर wp_is_mobileरिटर्न - सच (मोबाइल डिवाइस के रूप में पाया गया), यदि नहीं तो यह वापस आ जाएगाfalse

एक साधारण उपयोग मामला - एक लिंक बनाने के लिए, मोबाइल ऐप या वेब पेज पर नेविगेट करने का प्रयास करें।

के लिए और अधिक जानकारी की जांच समारोह स्रोत कोड

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.