一小时后更新用户元

时间:2013-10-21 作者:Kevster

使用标准的wordpress功能,我试图更新用户元数据,但一小时后,不会直接更新。我做错了什么事,但我真的不知道该怎么办。出于测试目的,时间设置为30秒。

 $afteranhour = update_user_meta( $user_id, \'money\', $oldmoney-$totalprice);

 function do_this_in_an_hour($afteranhour) {

 // do something
 }
 add_action( \'my_new_event\',\'do_this_in_an_hour\' );

 // put this line inside a function, 
 // presumably in response to something the user does
 // otherwise it will schedule a new event on every page visit

wp_schedule_single_event( time() + 30, \'my_new_event\' );

// time() + 3600 = one hour from now.

1 个回复
SO网友:Oleg Butuzov

请仔细阅读wp_schedule_single_event 在法典中。如你所见,还有第三个论点$args.

您可以安排一个单独的WP_Cron 事件,方法是修改上面使用的函数并将参数作为第三个参数传递:

<?php
// Your basic hook schelduling...
wp_schedule_single_event( time() + 30, \'user_cron_event\', 
    array(
        \'user_id\' => $user_id,
        \'oldmoney\' => $oldmoney,
        \'totalprice\' => $totalprice
    )
);
你在这种情况下的基本行动。。。

add_action(\'user_cron_event\', \'user_cron_event_callback\');
function user_cron_event_callback($args){
    update_user_meta( $args[\'user_id\'], \'money\', $args[\'oldmoney\']-$args[\'totalprice\']);
}

结束

相关推荐

Only Showing Upcoming Events

在此页面的侧栏中:http://lifebridgecypress.org/our-people, 我有一个即将使用此代码的事件列表。。。<ul id=\"upcoming-events\"> <?php $latestPosts = new WP_Query(); $latestPosts->query(\'cat=3&showposts=10\'); ?> <?php while ($latestPos