Alter कितनी बार WordPress Auto-Updates Plugins


17

वर्डप्रेस कोर और प्लगइन्स को कैसे अपडेट करता है, इसकी मेरी समझ से हर 12 घंटे में यह अपडेट हो जाता है और अपडेट की तलाश करता है। वह समय कब सेट होता है? प्रारंभिक स्थापना से 12 घंटे? मैं यह पूछता हूं क्योंकि प्लगइन ऑटो-अपडेट फिल्टर का उपयोग करके add_filter( 'auto_update_plugin' );आप सैद्धांतिक रूप से केवल निश्चित समय के बीच ही अपडेट करने की अनुमति दे सकते हैं लेकिन अगर वह निश्चित समय उस 12 घंटे की विंडो में नहीं आता है तो प्लग-इन को कभी भी अपडेट नहीं किया जाएगा।

इस प्रकार मेरे शीर्षक में प्रश्न को छोड़ना कि वर्डप्रेस कितनी बार अद्यतन के लिए दिखता है या ऑटो-अपडेट के लिए एक विशिष्ट समय कैसे निर्दिष्ट करना है?

रुचि रखने वालों के लिए, यहां वह फिल्टर है जिसके साथ मैं खिलवाड़ कर रहा हूं, यह देखने के लिए जांचें कि क्या यह सोमवार है - शुक्रवार सुबह 8 बजे - शाम 5 बजे:

function maybe_update_plugins(){
    date_default_timezone_set('Your Timezone Here');
    $localAssoc = localtime(time(), true);
    $update = false;

    /***
    /* tm_wday[0] = Sunday
    /* tm_wday[6] = Saturday
    ***/
    if(
      $localAssoc['tm_wday'] > 0 && $localAssoc['tm_wday'] < 6 &&
      $localAssoc['tm_hour'] > 7 && $localAssoc['tm_hour'] < 17
    ){
        $update = true;
    }

    return $update;
}
add_filter( 'auto_update_plugin', 'maybe_update_plugins' );

संपादित करें एक साफ-सुथरी सीडोट के रूप में, यह दिखता है कि यह फिल्टर हर बार एक प्लगइन अपडेट, कई प्लगइन अपडेट, फिल्टर के कई रन चलाता है।

जवाबों:


10

आप सही हैं, हर 12 घंटे में कोर और प्लगइन्स के अपडेट के लिए वर्डप्रेस चेक करता है, लेकिन इसके लिए एक बेहतर तरीका यह होगा: यह अपडेट को चेक करता है यदि अंतिम अपडेट 12 घंटे से अधिक पहले हो।

12 घंटे की सेटिंग में हार्ड कोडित है wp-includes/update.php

अंतिम अद्यतन तिथियां wp_optionsतालिका में संग्रहीत हैं और विकल्प हैं:

_site_transient_update_core
_site_transient_update_plugins
_site_transient_update_themes

क्योंकि यह जांच 12 घंटे के बाद ठीक नहीं होती है, लेकिन अगली बार जब स्थिति पूरी होती है (कम से कम 12 घंटे बीत चुके होते हैं) तो आप अपडेट को मिस नहीं करेंगे।


ठीक है, इसलिए अपना उत्तर और @ रिस्ट को एक साथ रखें, हर बार एक शर्त पूरी होती है (हर बार जब पृष्ठ या किसी निश्चित पृष्ठ को देखा जाता है) एक परीक्षण को ट्रिगर करता है यह देखने के लिए कि अपडेट अंतिम बार चेक किया गया था, अगर चेक> = 12 घंटे बाद था ऑटो अपडेट चलाएं। इसलिए फ़िल्टर का उपयोग करना, वास्तव में अवसर की खिड़की नहीं है।
हाउडी_मसीजी

5

संबंधित कार्य wp_update_plugins()और wp_maybe_auto_update()एक ही नाम की wp-cron घटनाओं से आच्छादित हैं, दो बार दैनिक अनुसूची पर चल रहे हैं।

तार्किक रूप से शुरुआती शेड्यूल पहले रन के समय से टिक करना शुरू कर देगा। Wp-cron के कार्यान्वयन (वास्तविक क्रॉन नहीं होने और सर्वर क्लॉक के बजाय साइट विज़िट से ट्रिगर होने के कारण) यह उस समय भी "बहाव" होगा जब वास्तविक wp-cron उस समय से पहले होता है जब यह होने वाला होता है।

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

मेरे सिर के ऊपर मैं इसे विशिष्ट समय गलियारे में डालने का सुंदर तरीका नहीं देखता। शेड्यूल बदलना बहुत आसान है, बहाव के लिए खाता काफी नहीं है।

यदि यह किसी भी तरह से गलत-गंभीर आवश्यकता है, तो बेहतर होगा कि वास्तविक सर्वर के लिए वास्तविक सर्वर क्रोन और बाहरी उपकरण के साथ संभाला जाए, जैसे कि wp-cli अद्यतन कार्यक्षमता या संगीतकार प्लग इन के माध्यम से।


यह महत्वपूर्ण मिशन नहीं है, लेकिन wp-cronकेवल कुछ व्यवस्थापक पृष्ठ दृश्य या सामान्य पृष्ठदृश्य भी ट्रिगर किए गए हैं? धन्यवाद!
Howdy_McGee

1
@Howdy_McGee wp-cron में बहुत ज्यादा कुछ भी शुरू होता है ( initहुक फायरिंग)
Rarst
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.