Обновляйте мета пользователя каждые 10 минут - PullRequest
0 голосов
/ 22 октября 2019

Я создал несколько пользовательских мета, и в них есть значение. Я хочу, чтобы это значение или какое-либо значение, которое имеют пользователи, обновлялось и заменялось словом «Блокировка» каждые 10 минут.

Ответы [ 3 ]

0 голосов
/ 23 октября 2019
// Schedule Cron Job Event
add_action( 'init', 'my_custom_cron_job' );
function my_custom_cron_job() {
if ( ! wp_next_scheduled( 'myprefix_update_user_phone_cron' ) ) {
    wp_schedule_event( time(), 'ten_minutes', 'myprefix_update_user_phone_cron'     );
}
}

// Scheduled Action Hook
add_action( 'myprefix_update_user_phone_cron', 'myprefix_update_user_phone' );
function myprefix_update_user_phone( ) {
// Do what you want
$website = 'http://wordpress.org';
update_user_meta($user_id, 'user_url', $website);
}

// Custom Cron Recurrences
function custom_cron_job_recurrence( $schedules ) {
$schedules['ten_minutes'] = array(
    'display' => __( 'Every 10 minutes', 'textdomain' ),
    'interval' => 300,
);
return $schedules;
}
add_filter( 'cron_schedules', 'custom_cron_job_recurrence' );
0 голосов
/ 24 октября 2019
// Scheduled Action Hook
add_action( 'myprefix_update_user_phone_cron', 'myprefix_update_user_phone' );
function myprefix_update_user_phone( ) {
    // Do what you want
    $users = get_users(); 
    foreach($users as $user){ 
    $website = 'wordpress.org'; 
    myprefix_update_user_phone($user->ID, '$user_url', $website);
    }
}
0 голосов
/ 23 октября 2019

Чтобы выполнить задачу cron, которая запускается каждые десять минут, вот пример кода:

Вы можете использовать https://generatewp.com, чтобы сгенерировать подобную функцию

// Schedule Cron Job Event
add_action( 'init', 'my_custom_cron_job' );
function my_custom_cron_job() {
    if ( ! wp_next_scheduled( 'myprefix_update_user_phone_cron' ) ) {
        wp_schedule_event( time(), 'ten_minutes', 'myprefix_update_user_phone_cron' );
    }
}

// Scheduled Action Hook
add_action( 'myprefix_update_user_phone_cron', 'myprefix_update_user_phone' );
function myprefix_update_user_phone( ) {
    // Do what you want
    error_log('TEST MY CRON');
}

// Custom Cron Recurrences
function custom_cron_job_recurrence( $schedules ) {
    $schedules['ten_minutes'] = array(
        'display' => __( 'Every 10 minutes', 'textdomain' ),
        'interval' => 600,
    );
    return $schedules;
}
add_filter( 'cron_schedules', 'custom_cron_job_recurrence' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...