Wp_Schedule_ हर दिन विशिष्ट समय पर देखें


9

मैं अपने फ़ंक्शन को हर दिन 16:20 पर चलाने के लिए निम्नलिखित कोड लिखता हूं।

लेकिन मुझे लगता है कि कोड में समस्या है ..

काम नहीं कर रहा

युगांतर काल: 1427488800

3/28/2015 1:10:00 पूर्वाह्न

if( !wp_next_scheduled( 'import_into_db' ) ) {
wp_schedule_event( time('1427488800'), 'daily', 'import_into_db' );

function import_into_db(){

////My code

}
add_action('wp', 'import_into_db');
}

1
time()समारोह एक इनपुट तर्क नहीं ले, कोशिश करता strtotime()समारोह या strftime()एक स्ट्रिंग से कस्टम टाइम स्टांप बनाने के लिए बजाय समारोह,। लेकिन अगर आपको पहले से ही टाइमस्टैम्प मिल गया है, तो आपको उनकी आवश्यकता नहीं है।
बीरगीर

जवाबों:


19

WP Cron चलता है, जब कोई आपकी वेबसाइट पर जाता है। इस प्रकार यदि कोई नहीं जाता है, तो क्रोन कभी नहीं चलता है।

अब 2 समाधान हैं:

  1. WP Cron को अक्षम करें, वास्तविक क्रॉन जॉब का उपयोग करें और इसे कस्टमाइज़ करें।

https://support.hostgator.com/articles/specialized-help/technical/wordpress/how-to-replace-wordpress-cron-with-a-real-cron-job

  1. में एक कस्टम अंतराल का उपयोग करें wp_schedule_event():

    function myprefix_custom_cron_schedule( $schedules ) {
        $schedules['every_six_hours'] = array(
            'interval' => 21600, // Every 6 hours
            'display'  => __( 'Every 6 hours' ),
        );
        return $schedules;
    }
    add_filter( 'cron_schedules', 'myprefix_custom_cron_schedule' );
    
    //Schedule an action if it's not already scheduled
    if ( ! wp_next_scheduled( 'myprefix_cron_hook' ) ) {
        wp_schedule_event( time(), 'every_six_hours', 'myprefix_cron_hook' );
    }
    
    ///Hook into that action that'll fire every six hours
     add_action( 'myprefix_cron_hook', 'myprefix_cron_function' );
    
    //create your function, that runs on cron
    function myprefix_cron_function() {
        //your function...
    }

और आप इन tuts को देख सकते हैं

http://www.nextscripts.com/tutorials/wp-cron-scheduling-tasks-in-wordpress/

http://www.iceablethemes.com/optimize-wordpress-replace-wp_cron-real-cron-job/

http://www.smashingmagazine.com/2013/10/16/schedule-events-using-wordpress-cron/

कस्टम डब्ल्यूपी क्रोन

http://codex.wordpress.org/Plugin_API/Filter_Reference/cron_schedules

http://www.smashingmagazine.com/2013/10/16/schedule-events-using-wordpress-cron/

http://www.viper007bond.com/2011/12/14/how-to-create-custom-wordpress-cron-intervals/

http://www.sitepoint.com/mastering-wordpress-cron/

https://tommcfarlin.com/wordpress-cron-jobs/

http://www.paulund.co.uk/create-cron-jobs-in-wordpress

क्रोन लाइनक्स

http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

http://www.thesitewizard.com/general/set-cron-job.shtml

http://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800

गूगल खोज


12

समय के बजाय () , स्ट्रैटिओम () फ़ंक्शन का उपयोग करें ताकि आप दिन का समय निर्दिष्ट कर सकें - यह आज की तारीख का उपयोग आपके द्वारा निर्दिष्ट समय के साथ करेगा। तो आपके मामले में:

strtotime('16:20:00'); // 4:20 PM

wp_schedule_eventफ़ंक्शन में उपयोग इस तरह दिखेगा:

wp_schedule_event( strtotime('16:20:00'), 'daily', 'import_into_db' );

2

खैर, १४२ ,४ 14 14 res8888 २88 मार्च २०१५ को हल हो गया, इसलिए आपका कार्यक्रम अभी शुरू होने के लिए भी निर्धारित नहीं है।

इसके अलावा, ध्यान रखें कि अनुसूचित WP ईवेंट केवल तभी फायर करेंगे जब कोई व्यक्ति उस समय साइट को हिट करेगा।


अब, कैसे तय करें? @vancoder
मोर्टज़िया

0

यह कोड मेरे लिए काम कर रहा है, मेरा मानना ​​है कि यह मूल प्रश्न के करीब है। जब आप इसे निष्पादित करना चाहते हैं, तो आप UNIX समय + टाइमज़ोन प्राप्त करना चाहते हैं। एक बार क्रॉन निष्पादित हो जाता है और WP से हटा दिया जाता है, यह आपके द्वारा निर्दिष्ट किए गए समय पर खुद को फिर से बनाता है।

निम्नलिखित उदाहरण में, मेरे पास प्रत्येक सुबह एईएसटी (जीएमटी + 10) @ 6 एएम के लिए काम करना है। इसलिए मैं इसे प्रत्येक दिन GMT 20:00 के लिए शेड्यूल कर रहा हूं।

if (!wp_next_scheduled('cron_name')) {
    $time = strtotime('today'); //returns today midnight
    $time = $time + 72000; //add an offset for the time of day you want, keeping in mind this is in GMT.
    wp_schedule_event($time, 'daily', 'cron_name');
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.