प्लगइन्स की एक जोड़ी जो नए (और बिल्कुल नए नहीं) में जाम को ठीक करती है

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

प्लगइन: नोविकोव के ओएलडी ओपरा टिप्पणी पृष्ठ को ताज़ा करते हुए बगफिक्स
संस्करण: 0.9

क्या समस्या है:

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

यह HTTP हेडर का उपयोग करके किया जाता है, जो कोड 304 देता है, और टिप्पणियों के साथ पृष्ठ का स्थान स्थान के रूप में निर्दिष्ट किया गया है। Wordpress के नए संस्करणों में, "# कमेंट-आईडी" फॉर्म की एक संरचना को विशिष्ट टिप्पणी पर पुनर्निर्देशित करने के लिए स्थान में डाला जाता है।
पुराना "ओपेरा" (संस्करण 8.5 पर परीक्षण किया गया) स्थान में "#" प्रतीक के साथ समस्याओं का अनुभव कर रहा है: जब आप पहली बार एक टिप्पणी जोड़ते हैं, तो यह पृष्ठ को सफलतापूर्वक ताज़ा कर सकता है। लेकिन अगली बार अब पेज अपडेट नहीं किया जा रहा है।

टिप्पणी डेटाबेस में आती है, लेकिन उपयोगकर्ता के लिए सब कुछ ऐसा लगता है जैसे साइट जमी हुई है और टिप्पणी चली गई है। इससे बार-बार लदान होता है, और यह सिर्फ बदसूरत दिखता है।

यह प्लगइन क्या करता है:

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

जब उपयोगकर्ता एक टिप्पणी जोड़ता है, तो wp_comment_post.php फ़ाइल कहा जाता है। इसमें विभिन्न फ़ंक्शन शामिल हैं जो इस टिप्पणी को संसाधित करते हैं, इसे डेटाबेस में डालते हैं, और फिर wp_redirect फ़ंक्शन को कॉल करते हैं। स्थान को इस फ़ंक्शन के तर्क के रूप में पारित किया जाता है - पोस्ट पेज के URL से युक्त एक स्ट्रिंग और पूंछ "# टिप्पणी-आईडी"।
Wp_redirect फ़ंक्शन को कॉल करने से पहले, तर्क को comment_post_redirect फ़िल्टर द्वारा संसाधित किया जाता है। प्लगइन अपने फ़ंक्शन को इस फ़िल्टर के रूप में पंजीकृत करता है, और यदि उपयोगकर्ता "ओपेरा" के नौवें संस्करण से कम है, तो वह बस स्थान से "पूंछ" काटता है। अब हर कोई खुश है।
*********************************

प्लगइन: नोविकोव के क्रजकोज्जबरी बगफिक्स से
संस्करण: 0.9

क्या समस्या है:

जब Wordpress पोस्ट लेखक को नई टिप्पणियों के बारे में एक ईमेल भेजता है, तो टिप्पणीकार का नाम संदेश हेडर के फ़ील्ड से डाला जाता है। रूसी पत्र पटाखे में बदल जाते हैं जो अपठनीय हैं।
वर्डप्रेस लेखक wp_notify_postauthor फ़ंक्शन में थोड़ा गड़बड़ कर दिया है, जो ईमेल हेडर बनाता है। सबसे पहले, वे "MIME- संस्करण: 1.0" सम्मिलित करते हैं, और फिर FROM फ़ील्ड पर जाता है, हालांकि यह आमतौर पर चारों ओर का दूसरा तरीका है।

यह प्लगइन क्या करता है:

सौभाग्य से, wp_notify_postauthor फ़ंक्शन को प्रतिस्थापित किया जा सकता है। यह "wp-include \ pluggable.php" फ़ाइल में स्थित है, अर्थात, यह इंजन को हैक करने के बजाय प्लगइन का उपयोग करके पुनर्परिभाषित किया जा सकता है।
दरअसल, प्लगइन इस फ़ंक्शन को ओवरराइड करता है, जिससे सूचना से FROM क्षेत्र को सुंदर बनाया जाता है। अब रूसी अक्षर सामान्य दिखते हैं।

Source: https://habr.com/ru/post/In12018/


All Articles