अजाक्स फिल्टर श्रेणियों की मेजबानी वर्डप्रेस

परिचय

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

  • अजाक्स - प्रौद्योगिकी का अवलोकन
  • एक प्लगइन लेखन - कैसे एक प्लगइन लिखने के लिए
  • प्लगइन एपीआई - फिल्टर और कार्यों - कि वे क्या हैं और उन्हें इस्तेमाल करने के लिए कैसे
  • कैसे उचित वर्डप्रेस पेज, पोस्ट, या स्क्रीन करने के लिए HTML जोड़ने के लिए - उदाहरण के लिए, आप आप बनाते हैं, आप वर्डप्रेस के लिए प्रशासन मेनू जोड़ने के बारे में समझने के लिए की आवश्यकता होगी प्रशासन स्क्रीन के लिए अजाक्स जोड़ना चाहते हैं; आप एक ही पोस्ट के प्रदर्शित करने के लिए अजाक्स जोड़ना चाहते हैं, तो आप दर्शकों का सामना करना पड़ ब्लॉग स्क्रीन पर उस स्थान के लिए HTML जोड़ने के लिए सही फिल्टर और कार्यों यह पता लगाने की आवश्यकता होगी। इस लेख में इन विषयों को कवर नहीं करता है।
अजाक्स फिल्टर श्रेणियों पेज के होस्टिंग WordPress के

प्रशासन की ओर अजाक्स

के बाद से अजाक्स पहले से ही कोर वर्डप्रेस प्रशासन स्क्रीन में बनाया गया है, अपने प्लगइन के लिए और अधिक प्रशासन की ओर अजाक्स कार्यक्षमता जोड़ने काफी सरल है।

इस छोटे से उदाहरण पीएचपी का उपयोग करता है पृष्ठ के पाद लेख में हमारी जावास्क्रिप्ट लिखने के लिए। यह स्क्रिप्ट फिर जब पृष्ठ पूरी तरह लोड AJAX अनुरोध ट्रिगर:

नोट: संस्करण 2.8 के बाद से। जावास्क्रिप्ट वैश्विक चर ajaxurl आप केवल वही फ़ाइलें जावास्क्रिप्ट में php फाइलों से अपना JavaScript कोड को अलग करना चाहते मामले में इस्तेमाल किया जा सकता है। यह प्रशासन की ओर केवल पर लागू होती है। आप सामने के अंत पर AJAX का उपयोग कर रहे हैं, तो आप व्यवस्थापक ajax.php यूआरएल आपकी JavaScript बारे में पता करने की जरूरत है। एक सबसे अच्छा अभ्यास wp_localize_script का उपयोग कर नीचे, चौथा उदाहरण में प्रलेखित है ()।

फिर, AJAX अनुरोध को पूरा करने एक PHP समारोह की स्थापना की।

गौर करें कि 'कार्रवाई' कुंजी का मान 'my_action', ऊपर हमारे जावास्क्रिप्ट में परिभाषित किया गया, नीचे हमारे AJAX हैंडलर में कार्रवाई 'wp_ajax_my_action' के उत्तरार्ध से मेल खाता है। इसका कारण यह है कि यह व्यवस्थापक ajax.php के माध्यम से सर्वर साइड PHP समारोह कॉल करने के लिए इस्तेमाल किया जाता है। एक कार्रवाई तय नहीं है तो, व्यवस्थापक ajax.php बाहर निकलते हैं, और इस प्रक्रिया में 0 वापस आ जाएगी।

आप इस तरह के त्रुटि जाँच और सत्यापित करें कि अनुरोध सही जगह से आया है (check_ajax_referer () का उपयोग) के रूप में कुछ विवरण, जोड़ने की आवश्यकता होगी, लेकिन उम्मीद है कि उपरोक्त उदाहरण आप अपने खुद के प्रशासन की ओर अजाक्स प्लगइन पर आरंभ करने के लिए पर्याप्त होगी ।

सूचना wp_die के उपयोग ()। मरने () या बाहर निकलने के बजाय ()। बार जब आप wp_die का उपयोग करना चाहिए के अधिकांश () अपने अजाक्स कॉलबैक फ़ंक्शन में। यह वर्डप्रेस के साथ बेहतर एकीकरण प्रदान करता है और यह आसान अपने कोड का परीक्षण करने के लिए बनाता है।

अलग JavaScript फ़ाइल

पिछले एक, एक अलग बाहरी फ़ाइल हम js / my_query.js फोन करता हूँ पर जावास्क्रिप्ट के साथ छोड़कर रूप में एक ही उदाहरण। उदाहरण एक प्लगइन फ़ोल्डर के सापेक्ष हैं।

अजाक्स फिल्टर श्रेणियों की मेजबानी सबसे अच्छा अभ्यास है wordpress

बाहरी JavaScript फ़ाइलों के साथ, हम पहले wp_enqueue_script चाहिए () ताकि वे पृष्ठ पर शामिल किए गए हैं। इसके अतिरिक्त, हम, जावास्क्रिप्ट वस्तु गुण में मान पास करने के wp_localize_script का उपयोग करना चाहिए () पीएचपी के बाद से हमारे JavaScript फ़ाइल में सीधे गूंज मान नहीं कर सकते। हैंडलर समारोह पिछले उदाहरण के रूप में ही है।

दर्शक द्वारा सामना की ओर अजाक्स

वर्डप्रेस 2.8 के बाद से, वहाँ एक हुक wp_ajax_ के समान (कार्रवाई) है।

तो, अगर आप चाहते हैं यह दोनों आगंतुकों के लिए सामने के अंत पर सक्रिय होने और लॉग-इन उपयोगकर्ताओं के लिए, आप यह कर सकते हैं:

नोट: व्यवस्थापक पक्ष पर विपरीत, ajaxurl जावास्क्रिप्ट वैश्विक स्वचालित रूप से, आप के लिए परिभाषित नहीं प्राप्त करता है जब तक आप BuddyPress या किसी अन्य अजाक्स निर्भर प्लग-इन इंस्टॉल। तो बजाय एक वैश्विक जावास्क्रिप्ट चर पर भरोसा करने की, अपने स्वयं के संपत्ति, ajaxurl के साथ एक जावास्क्रिप्ट नाम स्थान वस्तु घोषणा करते हैं। आप भी अपनी स्क्रिप्ट का URL उपलब्ध बनाने के लिए wp_localize_script () का उपयोग कर सकता है और इस अभिव्यक्ति का उपयोग कर इसे उत्पन्न: admin_url ( 'व्यवस्थापक-ajax.php')

नोट 2: दोनों सामने के अंत और बैक-एंड अजाक्स अनुरोधों का उपयोग व्यवस्थापक ajax.php तो is_admin () हमेशा आपकी क्रिया पर कार्रवाई कोड में सच वापस आ जाएगी। जब चुनिंदा सामने के अंत और पीछे के अंत के लिए अपने अजाक्स स्क्रिप्ट संचालकों लोड हो रहा है, और is_admin () फ़ंक्शन का उपयोग कर, अपने wp_ajax_ (कार्रवाई) और wp_ajax_nopriv_ (कार्रवाई) हुक is_admin () === सच हिस्से के अंदर होना चाहिए।

या तो wp_ajax_ या wp_ajax_nopriv_ कार्रवाई करने के लिए बाध्य अजाक्स अनुरोध WP व्यवस्थापक संदर्भ में क्रियान्वित कर रहे हैं। ध्यान से कार्य आप अपने कोड में प्रदर्शन कर रहे हैं की समीक्षा के बाद से आम उपयोगकर्ताओं या आगंतुकों ऊंचा अनुमतियाँ है कि वे के लिए अधिकृत नहीं किया जा सकता है अनुरोध को गति प्रदान करने में सक्षम हो जाएगा।

यहाँ अजाक्स कार्रवाई my_frontend_action पीएचपी समारोह my_frontend_action_callback () सभी उपयोगकर्ताओं के लिए ट्रिगर किया जाएगा। अजाक्स कार्रवाई my_backend_action केवल लॉग-इन उपयोगकर्ताओं के लिए PHP समारोह my_backend_action_callback () ट्रिगर किया जाएगा।

बाद लोड जावास्क्रिप्ट इवेंट

सामग्री सम्मिलित किया जाता है के बाद प्लगइन्स और विषयों है कि अजाक्स के माध्यम से सामग्री सम्मिलित document.body पर बाद लोड घटना ट्रिगर चाहिए। अन्य स्क्रिप्ट है कि सामग्री प्रविष्टि के बाद एक जावास्क्रिप्ट बातचीत पर निर्भर करते हैं, इस तरह के AddToAny या एक jQuery चिनाई स्क्रिप्ट के रूप में, उनके लिए आवश्यक जावास्क्रिप्ट प्रारंभ करने के बाद लोड घटना के लिए सुन। बाद लोड घटना जेटपैक के अनंत स्क्रॉल से निकाल दिया जाता है। उदाहरण के लिए, AddToAny प्रत्येक पद के लिए साझा करें बटन को प्रदर्शित करता है, और jQuery चिनाई पृष्ठ के तत्वों की स्थिति।

जावास्क्रिप्ट के बाद लोड ईवेंट सक्रिय सामग्री के बाद अजाक्स के माध्यम से डाला गया है:

जावास्क्रिप्ट के बाद लोड घटना को सुन:

jQuery पर ध्यान दें: एक चयनकर्ता अभिव्यक्ति के साथ jQuery के लोड विधि का उपयोग कर सामग्री डालने के लिए है क्योंकि यह कारण होगा से सावधान रहें

संबंधित आलेख

इनलाइन ajax पेज की मेजबानी वर्डप्रेसविवरण वर्डप्रेस मूल रूप कोड़ी लिंडले द्वारा बनाई thickbox jQuery पुस्तकालय का एक संशोधित संस्करण का उपयोग करता है। Thickbox शक्तियों मोडल WordPress व्यवस्थापक में इस्तेमाल lightboxes, ...
ब्लॉग होस्टिंग स्क्रिप्ट थीम्स WordPressजावास्क्रिप्ट वर्डप्रेस के भीतर काम करेंगे। यदि टेम्पलेट फ़ाइलों के भीतर इस्तेमाल किया। सबसे जावास्क्रिप्ट ठीक काम करेंगे। यहाँ वर्डप्रेस में अपने जावास्क्रिप्ट काम करने के लिए कुछ सुझाव दिए गए हैं। टेम्पलेट में जावास्क्रिप्ट ...
ब्लॉग होस्टिंग स्क्रिप्ट विजेट वर्डप्रेसजावास्क्रिप्ट वर्डप्रेस के भीतर काम करेंगे। यदि टेम्पलेट फ़ाइलों के भीतर इस्तेमाल किया। सबसे जावास्क्रिप्ट ठीक काम करेंगे। यहाँ वर्डप्रेस में अपने जावास्क्रिप्ट काम करने के लिए कुछ सुझाव दिए गए हैं। टेम्पलेट में जावास्क्रिप्ट ...
अल्टाविस्टा ओ की मेजबानी वर्डप्रेसविवरण अपने दर्शकों के एक बुकमार्क के साधारण क्लिक के साथ किसी भी पृष्ठ का अनुवाद करने की अनुमति दें। अनुवाद इस हल्के वजन, क्रॉस-ब्राउज़र प्लगइन के साथ पृष्ठ को छोड़े बिना ही स्थान पर होता है ....
PHPSESSID कुकी की मेजबानी वर्डप्रेससत्र, कुकीज़ और आप। अपनी लागत का भरपूर कैश हो रही है। इस पोस्ट में क्या एक सत्र और कुकी है, यह कैसे काम करता से अवगत कराने के लिए जा रहा है, और कैसे वे अपने प्रभाव की गति ...