“Page Builder Sandwich के साथ संपादित करें” बटन दिखाई नहीं दे रहा है

द्वारा लिखित

में

, ,

“Edit with Page Builder Sandwich” बटन दिखाई नहीं दे रहा है

यदि आप अपनी साइट के फ़्रंटएंड में “Edit with Page Builder Sandwich” बटन नहीं देख पा रहे हैं, तो यहां कुछ चीज़ें दी गई हैं जिन्हें आप आज़मा सकते हैं:

सुनिश्चित करें कि आपका एडमिन बार दिखाई दे रहा है

PB Sandwich के लिए एडिट बटन आपके फ़्रंटएंड में एडमिन बार में उपलब्ध होता है। अपने एडमिनिस्ट्रेशन में जाकर और Users > Your Profile पर नेविगेट करके सुनिश्चित करें कि एडमिन बार दिखाई दे रहा है और दोबारा जांच लें कि Show Toolbar when viewing site वाला बॉक्स टिक किया हुआ है।

e5960e581e file w9uN2EeCjm

सुनिश्चित करें कि आप किसी पेज, पोस्ट या कस्टम पोस्ट प्रकार में हैं

फ़्रंटएंड में केवल पोस्ट, पेज और कस्टम पोस्ट प्रकार ही एडिट किए जा सकते हैं। आप फ़्रंटएंड में केवल उन्हीं चीज़ों को एडिट कर सकते हैं जिन्हें आप बैकएंड में वर्डप्रेस के कंटेंट एडिटर का उपयोग करके एडिट कर सकते हैं। आपकी साइट के अन्य क्षेत्र – जैसे ब्लॉग पोस्ट की फ़्रंटपेज सूची, सभी ब्लॉग पोस्ट की सूची, श्रेणी लिस्टिंग, 404 पेज, खोज पेज – वर्डप्रेस द्वारा आपके द्वारा उपयोग की जा रही थीम के साथ बनाए गए डायनेमिक पेज हैं और इन्हें PB Sandwich का उपयोग करके एडिट नहीं किया जा सकता है।

वर्तमान वेबपेज एडिट करने योग्य है या नहीं, इसका एक संकेतक यह है कि क्या आप अपने एडमिन बार पर “Edit Post” या “Edit Page” देख सकते हैं।

सुनिश्चित करें कि आपका कंटेंट आपकी थीम या किसी प्लगइन द्वारा डायनेमिक रूप से जनरेट नहीं किया गया है

यदि आपका पेज/पोस्ट किसी थीम या प्लगइन द्वारा डायनेमिक रूप से जनरेट किया गया है, तो इसे Page Builder Sandwich (और संभवतः अन्य पेज बिल्डरों में भी) से एडिट नहीं किया जा सकेगा। यदि आप देखते हैं कि बैकएंड में आपका कंटेंट एडिटर खाली है, लेकिन फ़्रंटएंड में आपका पेज देखने पर वह कंटेंट से भरा है, तो यह एक अच्छा संकेतक है कि आपका पेज डायनेमिक रूप से जनरेट हुआ है।

यह जांचने के लिए कि क्या आपका पेज डायनेमिक रूप से जनरेट हुआ है, अपने वेबपेज का स्रोत देखें (राइट क्लिक करें और फिर “View Page Source” चुनें)। “pbs-main-wrapper” टेक्स्ट खोजें, यदि आपको वह टेक्स्ट कहीं भी दिखाई नहीं देता है, तो आपका पेज डायनेमिक रूप से जनरेट हुआ है।

डायनेमिक रूप से जनरेट किए गए कंटेंट के कुछ उदाहरण यहां दिए गए हैं:

  • आपका पेज कई विजेट्स से बना है जिन्हें आप कस्टमाइज़र का उपयोग करके जोड़ते/एडिट करते हैं,
  • आपका पेज किसी “वन पेज” थीम द्वारा एक साथ जोड़े गए विभिन्न पेजों से बना है (इस स्थिति में आप अभी भी अलग-अलग पेजों को एडिट कर सकते हैं, लेकिन संयुक्त पेज को नहीं), या
  • आपका पेज नवीनतम ब्लॉग पोस्टों से बना है।

पहले कुछ कंटेंट जोड़ने का प्रयास करें

ऐसे मामले सामने आए हैं जहां खाली होने पर थीम ने कंटेंट को बिल्कुल भी प्रदर्शित नहीं किया, और इससे PBS को गलती से यह लगा कि पेज एडिट करने योग्य नहीं है। यह जांचने के लिए कि क्या ऐसा मामला है, बैकएंड एडिटर में अपने पेज/पोस्ट को एडिट करें, अपने कंटेंट में कोई भी टेक्स्ट जोड़ने का प्रयास करें (उदाहरण के लिए “hello”), फिर वहां से “Edit with Page Builder Sandwich” बटन पर क्लिक करें।

इस सुझाव के लिए Mathias Hellquist का धन्यवाद!

सुनिश्चित करें कि आपका पेज किसी अन्य पेज बिल्डर के “स्वामित्व” में नहीं है

कुछ पेज बिल्डर आपको वर्डप्रेस के डिफ़ॉल्ट कंटेंट एडिटर या पेज बिल्डर के अपने एडिटर का उपयोग करने के बीच चयन करवाते हैं। यदि आपने पहले ही किसी अन्य पेज बिल्डर का उपयोग करके अपने पेज को एडिट कर लिया है, तो संभव है कि उस पेज बिल्डर ने कंटेंट पर पहले ही “दावा” कर लिया हो, और अन्य कंटेंट हुक/फ़िल्टर अब नहीं चल सकते हैं। इस वजह से, कभी-कभी Page Builder Sandwich यह पता नहीं लगा पाता है कि आपका कंटेंट कहां है और यह एडिट बटन नहीं दिखाएगा क्योंकि एडिट करने के लिए कुछ भी नहीं है।

इसे ठीक करने के लिए, बस उस विशिष्ट पेज/पोस्ट के लिए उस पेज बिल्डर का उपयोग न करने का विकल्प चुनें, और केवल वर्डप्रेस के डिफ़ॉल्ट कंटेंट एडिटर का उपयोग करना चुनें।

सुनिश्चित करें कि आपके पास पेज पर संपादन क्षमताएं हैं

यदि आप पेज को एडिट नहीं कर सकते हैं तो एडिट बटन दिखाई नहीं देगा। उदाहरण के लिए, यदि आप एक एडिटर या योगदानकर्ता हैं और आप साइट में ब्लॉग पोस्ट और लेख लिख सकते हैं, तो इसका मतलब यह नहीं है कि आप फ़्रंट पेज या अपने हमसे संपर्क करें पेज को एडिट कर सकते हैं। यदि आप अपने एडमिन बार पर “Edit Post” बटन देख सकते हैं, तो आपको PB Sandwich का उपयोग करके इसे एडिट करने में भी सक्षम होना चाहिए। यदि आपको आवश्यकता हो तो अपने साइट एडमिनिस्ट्रेटर से संपादन विशेषाधिकार मांगें।

कोई जावास्क्रिप्ट त्रुटि हो सकती है जो PB Sandwich को काम करने से रोक रही है

PB Sandwich जावास्क्रिप्ट का बड़े पैमाने पर उपयोग करता है। यदि आपकी साइट में मौजूद अन्य स्क्रिप्ट्स से कोई जावास्क्रिप्ट त्रुटियां आ रही हैं, तो यह PB Sandwich को काम करने से रोक सकती हैं। यह जांचने के लिए कि क्या ऐसा मामला है, आप त्रुटियों की जांच करने के लिए अपने ब्राउज़र में डेवलपर कंसोल खोल सकते हैं। 

इसके लिए मैं Chrome का उपयोग करने की सलाह दूंगा। पेज में किसी भी चीज़ पर राइट क्लिक करें, फिर “Inspect” विकल्प पर क्लिक करें। इससे आपके ब्राउज़र के नीचे एक नया क्षेत्र खुल जाएगा, “console” टैब पर क्लिक करें। यदि आपके पास त्रुटियां हैं, तो आपको कुछ ऐसा दिखाई देना चाहिए:

4acce143a3 file

यदि आपके पास कोई त्रुटि है, तो आप स्क्रिप्ट के नाम पर क्लिक करके या अपने माउस को उसके ऊपर ले जाकर यह सुराग भी पा सकते हैं कि यह कहां से आ रही है:

abb5a87c67 file ITjVcdhZQU

ये त्रुटियां आपकी थीम या आपके पास मौजूद अन्य प्लगइन्स से आ सकती हैं। उन त्रुटियों को ठीक करने से PB Sandwich फिर से काम कर सकता है।

यदि आपकी थीम या आपका कोई प्लगइन जावास्क्रिप्ट त्रुटि का कारण बन रहा है, तो कृपया हमें [email protected] पर ईमेल के माध्यम से बताएं और हम इस समस्या को ठीक करने की पूरी कोशिश करेंगे 🙂

यदि आप CloudFlare का उपयोग कर रहे हैं, तो सुनिश्चित करें कि Rocket Loader बंद है

CloudFlare एक व्यापक रूप से उपयोग किया जाने वाला मुफ़्त DNS CDN है। यह बेहतरीन है, लेकिन जब रॉकेट लोडर सुविधा की बात आती है तो PBS को वर्तमान में समस्याओं का सामना करना पड़ता है। रॉकेट लोडर जावास्क्रिप्ट फ़ाइलों के लोड होने के समय में सुधार करता है, लेकिन यह PBS की स्क्रिप्ट्स की निर्भरता और कॉल क्रम को बिगाड़ देता है। यदि आपने रॉकेट लोडर चालू किया है, तो Page Builder Sandwich के लिए एडिट बटन दिखाई नहीं देगा (और कोई जावास्क्रिप्ट कंसोल त्रुटियां भी दिखाई नहीं देंगी)।

यह जांचने के लिए कि क्या आपकी साइट CloudFlare के रॉकेट लोडर का उपयोग कर रही है, अपने वेबपेज का स्रोत देखें (राइट क्लिक करें और फिर “View Page Source” चुनें), और फिर “rocketscript” टेक्स्ट खोजें, यदि आपको वह टेक्स्ट मिलता है तो इसका मतलब है कि आपने रॉकेट लोडर चालू किया हुआ है।

e4dff5b8c0 file tPnWvP09FF

इसे बंद करने के तरीके के बारे में पूरे निर्देशों के लिए CloudFlare & Rocket Loader Compatibility पर लेख पढ़ें।


मैंने वे सब कुछ किया और एडिट बटन अभी भी वहां नहीं है!

ठीक है इस स्तर पर, यदि उपरोक्त समाधानों में से कोई भी काम नहीं करता है, तो यह समझाने का समय हो सकता है कि यह क्यों दिखाई नहीं दे रहा है और इसके बारे में क्या करना है। तैयार हैं? चलिए शुरू करते हैं!

“क्यों” (गैर-तकनीकी शब्दों में)

Page Builder Sandwich को यह जानने की आवश्यकता है कि आपके पेज/पोस्ट का कंटेंट कहां स्थित है। हम यह इस बात पर ध्यान देकर करते हैं कि वर्डप्रेस पोस्ट के कंटेंट को कब लोड करता है और उस क्षेत्र को “चिह्नित” करता है, ताकि सब कुछ लोड होने पर हम जान सकें कि अच्छी सामग्री कहां है।

कभी-कभी, कुछ प्लगइन्स इस प्रक्रिया को ओवरराइड या बायपास कर देते हैं और इसके बजाय अपने तरीके से कंटेंट को लोड करने का प्रयास करते हैं। कभी-कभी यह ठीक होता है, लेकिन कुछ परिदृश्यों में, विशेष रूप से जब मुख्य पोस्ट के कंटेंट को लोड करने की बात आती है, तो इससे कुछ प्लगइन्स काम करना बंद कर सकते हैं। जब कोई अन्य प्लगइन इस लोडिंग प्रक्रिया को बायपास करता है, तो हमारे द्वारा किए गए “अंकन” खो सकते हैं, और जब एडिटर के सक्रिय होने का समय आता है, तो वह यह नहीं खोज पाता कि आपका कंटेंट अब कहां है। इसलिए, एडिट बटन दिखाई नहीं देता है! आप यह भी पा सकते हैं कि कुछ प्लगइन्स जो आपके पेज में सामग्री जोड़ते हैं, जैसे कि कुछ सोशल शेयरिंग प्लगइन्स, बिल्कुल इसी चीज़ के कारण काम करना बंद कर सकते हैं।

“क्यों” (तकनीकी शब्दों में)

Page Builder Sandwich को यह जानने की आवश्यकता है कि आपके पेज/पोस्ट का कंटेंट कहां स्थित है, और यह the_content फ़िल्टर में हुक करके ऐसा करता है और आपके मुख्य कंटेंट के चारों ओर एक रैपर जोड़ता है। कुछ प्लगइन्स इसे ओवरराइड कर सकते हैं और इसके बजाय आगे चलकर get_the_content() फ़ंक्शन के साथ कंटेंट को ओवरराइट कर सकते हैं। दुर्भाग्य से, ऐसा करने से सभी the_content फ़िल्टर कॉल होने से रुक जाते हैं और इसलिए PBS का रैपर खो जाता है। किसी भी अन्य प्लगइन के परिवर्तन भी खो जाएंगे।

अपने आप में get_the_content() का उपयोग करने में कुछ भी गलत नहीं है, लेकिन यदि इसका उपयोग सामान्य the_content() कॉल (जहां सभी the_content फ़िल्टर चलाए जाते हैं) के बजाय मुख्य क्वेरी में और सिंगल पोस्ट टेम्पलेट पेज के अंदर किया जाता है, तो इसके प्रतिकूल प्रभाव हो सकते हैं।

इसके बारे में क्या करें

आप फ़्रंटएंड में अपने पेज/पोस्ट पर जाकर और लॉग इन रहते हुए पेज स्रोत देखकर जांच सकते हैं कि क्या Page Builder Sandwich के “अंकन” मौजूद नहीं हैं। कोड के उस ढेर में खोजें कि क्या आपको यह स्ट्रिंग मिल सकती है:

data-name="main-content"

यदि आप इसे ढूंढ पाते हैं, तो हो सकता है कि कहीं कोई जावास्क्रिप्ट समस्या हो और बस हमें उस थीम और प्लगइन्स के बारे में बताएं जिनका आप उपयोग कर रहे हैं और हम उसे ठीक कर सकते हैं।

लेकिन यदि आप इसे नहीं ढूंढ पाते हैं, तो हो सकता है कि आपकी थीम (या कोई प्लगइन, लेकिन यदि यह कोई पेज या ब्लॉग पोस्ट है तो इसकी सबसे अधिक संभावना थीम की है) पोस्ट कंटेंट के साथ कुछ कर रही हो। यदि ऐसा है, तो आपको थीम लेखक से संपर्क करना चाहिए और उन्हें समस्या के बारे में बताना चाहिए! आप उन्हें ऊपर दी गई तकनीकी “क्यों” व्याख्या भी दिखा सकते हैं, इससे डिबगिंग में मदद मिल सकती है 🙂

यदि आप PHP में बदलाव करने में आश्वस्त महसूस करते हैं, तो आप पोस्ट कंटेंट को संभालने वाली टेम्पलेट फ़ाइल ढूंढकर इसे ठीक करने का प्रयास कर सकते हैं। हमें जो एक समाधान मिला है, वह इसके लिए कॉल को बदलना है:

$content = get_the_content();

इसके साथ:

ob_start();
the_content();
$content = ob_get_clean();<br>

नोट: PHP वेरिएबल आपके वाले में भिन्न हो सकता है, लेकिन अवधारणा समान होनी चाहिए। यदि यह काम करता है, तो बेहतर होगा कि आप इस बदलाव को सीधे अपनी थीम में लागू करने के बजाय एक चाइल्ड थीम बनाएं। बदलाव के कारण इसके दुष्प्रभाव भी हो सकते हैं, इसलिए बेहतर होगा कि आप इस बारे में अपनी थीम के लेखक से परामर्श करें।