अगर मैं एक प्लगइन का नाम बदल दूं (इसकी मुख्य php फ़ाइल में) तो क्या मुझे अभी भी अपडेट सूचनाएं मिलेंगी?


17

मुझे हाल ही में एक प्लगइन की मुख्य फ़ाइलों को संपादित करने के लिए मजबूर किया गया है। मैंने उक्त प्लगइन के शीर्षक को अपडेट करने के लिए इंगित किया है कि इसका संपादन किया गया है।

मेरा सवाल यह है कि प्लगइन को अभी भी अपडेट सूचनाएं मिलेंगी? यदि हां, तो मैं इस प्लगइन के अपडेट को अक्षम कर दूंगा, ताकि कोई व्यक्ति मेरे अपडेट और ओवरराइटिंग के बारे में भूल सके।

आदर्श रूप से, मैं यह देखना चाहूंगा कि क्या प्लगइन को अपडेट मिलता है, लेकिन अपडेट को क्लिक करके उन्हें ऐसा करने की अनुमति न दें। (इसे अनइंस्टॉल करना होगा और फिर से इंस्टॉल करना होगा या इसी तरह)।


इस मुद्दे के बारे में मैंने हाल ही में वर्डप्रेस ट्रैक पर एक बग रिपोर्ट पोस्ट की: एक प्लगइन / थीम निर्देशिका का बैकअप। मुझे लगता है कि एक सरल ऑटो बैकअप अंदर लेकिन ऑटो अपडेट करने से पहले हर किसी के लिए चीजें बहुत आसान हो जाएंगी। मुझे कोई कारण नहीं दिखता कि ऐसा क्यों किया गया था जब पहली बार ऑटो अपडेट जारी किया गया था, न ही यह इस बीच क्यों नहीं किया गया, न ही ऐसा क्यों किया जाना चाहिए।
एंडो

जवाबों:


17

जैसा कि सिकिप्पी कहते हैं और AFAIK, तुम दोनों नहीं हो सकता। मैं इस स्टैक में एकत्रित जानकारी के साथ एक उत्तर जोड़ रहा हूं।


अलग-अलग प्लगइन्स के लिए अद्यतन अधिसूचना को अक्षम करें

एक टिप्पणी में Bainternet:

बस प्लगइन फ़ाइल खोलें और संस्करण संख्या को 9.9.9 की तरह बदलें

हमीदुल्ला खान का जवाब (अकीमात अपडेट नोटिस हटाकर):

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

क्या एक प्लगइन अद्यतन चेतावनी ट्रिगर करता है

ओटो का जवाब:

एपीआई प्लगइन्स के खिलाफ प्लग इन से मेल खाने के लिए एक विस्तृत तंत्र का उपयोग करता है, जिसके बारे में वह जानता है, लेकिन ये मुख्य चीज़ों के लिए जाँच की जाती हैं: प्लगइन यूआरआई, प्लगिन नाम, और प्लगिन स्लग (निर्देशिका नाम प्लग इन है)

उनमें से किसी को भी बदलें और आप एक मैच खोजने की संभावना को कम करते हैं, लेकिन यह अभी भी मिल सकता है यदि उनमें से दो मैच करते हैं, उदाहरण के लिए।

इसके लिए readme.txt में जानकारी का उपयोग नहीं किया गया है। प्लगइन के PHP फ़ाइल के हेडर का ही उपयोग किया जाता है।


वैकल्पिक दृष्टिकोण 1

  • अपने स्वयं के कस्टम रिपॉजिटरी में अपडेट की जांच करने के लिए प्लगइन को संशोधित करें।
  • आपको मूल प्लगइन अपडेट का पालन करना होगा, या तो नियमित रूप से आधिकारिक रेपो पर जाना होगा या किसी अन्य वर्डप्रेस इंस्टॉलेशन में मूल स्थापित करना होगा।
  • जब आप तय करते हैं कि आपका संशोधित प्लगइन अपडेट किया जाना चाहिए, तो इसे अपने रेपो में दें और आपको सूचना मिल जाएगी
  • ट्यूटोरियल: http://wp.tutsplus.com/tutorials/plugins/a-guide-to-the-wordpress-http-ap-automatic-plugin-updates/
  • ब्रैड विलियम्स, ओज़ रिचर्ड और जस्टिन टडलॉक की पुस्तक प्रोफेशनल वर्डप्रेस प्लगिन डेवलपमेंट में इस मामले पर एक अध्याय है यहां छवि विवरण दर्ज करें

वैकल्पिक दृष्टिकोण 2 टिप्पणियाँ से खींचा

  • प्लगइन नाम, संस्करण संख्या और निर्देशिका नाम बदलें
  • मूल प्लगइन स्थापित करें, लेकिन अपडेट नोटिस प्राप्त करने के लिए इसे छोड़ दें
  • प्लगइन विवरण में एक कस्टम संदेश जोड़ें (या मूल बदलें)
  • प्लग एक्शन हटाएं (सक्रिय करें संपादित करें हटाएं) और बल्क क्रियाओं के लिए चेकबॉक्स

यहां छवि विवरण दर्ज करें

add_filter( 'all_plugins', 'wpse_56968_on_list_plugins' );
add_filter( 'plugin_action_links_akismet/akismet.php', 'wpse_56968_remove_plugin_actions', 10, 4 );
add_action( 'admin_head-plugins.php', 'wpse_56968_remove_plugin_checkbox' );

function wpse_56968_on_list_plugins( $plugins )
{
    $plugins['akismet/akismet.php']['Description'] = '<strong>*** NOTICE: PLUGIN ONLY TO CHECK UPDATES IN THE ORIGINAL ONE! ***</strong> ';// . $plugins['akismet/akismet.php']['Description'];
    return $plugins;
}

function wpse_56968_remove_plugin_actions( $actions, $plugin_file, $plugin_data, $context ) 
{
    unset( $actions['activate'], $actions['edit'], $actions['delete'] );
    return $actions; 
}

function wpse_56968_remove_plugin_checkbox()
{
    ?>
        <script type="text/javascript">
            jQuery(document).ready( function($) {
                $('tr#akismet th.check-column').html('&nbsp;')
            });     
        </script>
    <?php
}

संबंधित कोर टिकट


बहुत बढ़िया जवाब! शायद मैं प्लगइन का नाम, संस्करण संख्या और निर्देशिका नाम बदल दूंगा, और फिर मूल प्लगइन स्थापित करूँगा लेकिन इसे निष्क्रिय छोड़ दें ताकि जब यह अपडेट हो जाए तो मैं देख सकूं।
Zach Lysobey

1
@ZachL - शानदार! यह ठीक काम करना चाहिए!
सिकिप्पी

2
आप मूल प्लगइन हेडर को भी संशोधित कर सकते हैं Descriptionऔर कुछ नोटिस जोड़ सकते हैं, जैसे:Description: ONLY FOR REFERENCE, DON'T ACTIVATE!...[rest of the description]
brasofilo

1
@ZLL - इस टिप्पणियाँ के आधार पर एक पूर्ण दूसरा विकल्प जोड़ा गया :)
brasofilo

3

आप अपडेट को अक्षम नहीं कर सकते, लेकिन सूचनाओं को अपडेट नहीं कर सकते - वे एक साथ बंधे हुए हैं।

सूचनाओं को पूरी तरह से निष्क्रिय करने के लिए, फ़ोल्डर का नाम बदलें जो प्लगइन बैठता है।

मेरी व्यक्तिगत विधि मुख्य plugin.phpफ़ाइल में प्लगइन के शीर्षक में 3 ए है , इसलिए मेरी प्लगइन सूची में मैं देख रहा हूं AAA/Plugin Name। यह इसे संदर्भ के लिए सूची में सबसे ऊपर रखता है, और प्लगइन सूची और अपडेट सूची में दिखाएगा। यह मूल रूप से एक व्यक्तिगत ध्वज है, इसलिए मैं उन विशिष्ट प्लगइन्स को स्वतः प्रदर्शित नहीं करना जानता हूं।


जवाब के लिए धन्यवाद। बस स्पष्ट करने के लिए, क्या आप कह रहे हैं कि एक प्लगइन का नाम बदलने से इसकी अद्यतन सूचनाएं नहीं रुकती हैं?
ज़च लिसोबे

आपके पहले वाक्य के रूप में ... मुझे यकीन है कि मुझे इस प्रभाव को प्राप्त करने का कोई रास्ता मिल सकता है, शायद कुछ डरपोक जेएस के साथ सिर्फ अधिसूचना से लिंक को हटाने के लिए।
Zach Lysobey

AFAIK, मुख्य फ़ाइल में एक प्लगइन की मुख्य फ़ाइल या शीर्षक का नाम बदलने से अद्यतन सूचनाएं बंद नहीं होती हैं। मुझे पूरा यकीन है कि प्लगिन नाम के आधार पर प्लगिन रिपॉजिटरी खींचती है (रेपो से डाउनलोड किए गए ज़िप में समान नाम प्लस संस्करण संख्या होनी चाहिए)। अपडेट करने में अक्षम होने के लिए, प्लगइन सूची और अपडेट सूची है, इसलिए सुनिश्चित करें कि आपका जेएस दोनों स्थानों पर फायरिंग कर रहा है (यह भी साझा करें कि जेएस - उपयोगी हो सकता है)।
सिकिप्पी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.