2012-07-11 17 views
8

में क्वेरीस्ट्रिंग पैरामीटर मान प्राप्त करना मैं एक WordPress प्लगइन बना रहा हूं। मैंने उपयोगकर्ता द्वारा क्लिक किए गए लिंक के आधार पर सामग्री लोड करने के लिए एंकरों के अंदर add_query_string() का उपयोग किया है। अब मुझे वर्तमान यूआरआई में पैरामीटर मान प्राप्त करने का सबसे अच्छा तरीका जानने की जरूरत है।वर्डप्रेस

यह शायद एक सुंदर मूल और बेवकूफ सवाल है, लेकिन मैं प्रोग्रामिंग के लिए नया हूं इसलिए मुझे खेद है कि अगर मैं कुछ शर्तों की गलत व्याख्या करता हूं।

 if (current_user_can('manage_options')) { 
      echo (
       '<div> 
        <ul> 
         <li><a href="'.add_query_arg('adminoption', 1).'">option 1</a></li> 
         <li><a href="'.add_query_arg('adminoption', 2).'">option 2</a></li> 
        </ul> 
       </div>' 
      ); 

      // if adminoption == 1 load content A 
      // if adminoption == 2 load content B 

     } 

उत्तर

10

मुझे लगता है कि आप get_query_var() समारोह के लिए पूछ रहे हैं:

इस कोड है। अपने मामले में आपको get_query_var ('adminoption') का उपयोग करना चाहिए। आशा है कि यह मदद करता है

+1

धन्यवाद डेविड। अच्छा सुझाव, लेकिन यह मेरे लिए खाली हो गया। सत्य यह है कि मुझे यह भी नहीं पता कि मुझे add_query_arg() का उपयोग करना चाहिए या नहीं। मुझे केवल एक ही पृष्ठ पर सामग्री स्ट्रिंग के आधार पर सामग्री दिखाने के लिए करना है। मैं सिर्फ प्रत्येक लिंक के लिए एक पेज बना सकता हूं लेकिन यह कोई विकल्प नहीं है क्योंकि मैं कुछ भी नहीं सीखूंगा, और सीखना मुख्य कारण है कि मैं प्लगइन बनाने के साथ गड़बड़ कर रहा हूं। – rzb

+2

लिंक पर क्लिक करने के बाद आपका यूआरएल क्या है? क्या यह www.yoursite.com/?adminoption=1 जैसा कुछ है, यह जानने के लिए कि आपकी समस्या add_query_arg() पर शुरू होती है या नहीं। वैसे भी आप पुराने PHP $ _GET ['adminoption'] के साथ प्रयास कर सकते हैं। –

+1

हां, लिंक पर क्लिक करने के बाद यूआरएल ठीक है। और $ _GET ['adminoption'] एक आकर्षण की तरह काम किया। बहुत बहुत धन्यवाद! क्या मुझे $ _GET का उपयोग करते समय सुरक्षा के बारे में चिंता करने की ज़रूरत है? – rzb

8

डेविड Carrus द्वारा टिप्पणी में छिपा जवाब स्थापना:

वैसे भी आप पुराने php $ _GET [ 'adminoption'] के साथ की कोशिश कर सकते हैं।

6

क्वेरी स्ट्रिंग से वर्र्स प्राप्त करने के लिए आप PHP की $_GET['key'] विधि का उपयोग कर सकते हैं।

आप जो कर रहे हैं उसके आधार पर, आप get_query_var('key'), this function works with parameters accepted by the WP_Query class (cat, author, etc) का भी उपयोग कर सकते हैं।

यदि आप इस फ़ंक्शन के साथ कस्टम क्वेरी वर्र्स का उपयोग करना चाहते हैं, तो आपको समर्थित क्वेरी वर्र्स की सूची को संशोधित करने के लिए query_vars फ़िल्टर का उपयोग करने की आवश्यकता है, आप उपरोक्त दस्तावेज़ों में इसे कैसे करें, इसे पढ़ सकते हैं।

10

get_query_var ('adminoption') केवल मानक या पंजीकृत वर्रों के साथ काम करता है। तो के लिए गैर मानक Wordpress वार्स आप अपने functions.php फ़ाइल में पहली यह रजिस्टर करने की आवश्यकता होगी:

function rj_add_query_vars_filter($vars){ 
    $vars[] = "adminoption"; 
    return $vars; 
} 
add_filter('query_vars', 'rj_add_query_vars_filter'); 

get_query_var('adminoption'); 

एहसास सवाल पुराना है लेकिन आशा है कि यह किसी को भी मदद करता है।

+0

अच्छा समाधान आज़माएं। मेरे लिए पूरी तरह से ठीक काम कर रहा है^_^ –

+0

आप "समूह" को '$ vars [] 'सरणी में क्या जोड़ रहे हैं? यह '$ vars [] =" adminoption "नहीं होना चाहिए;'? –