我正在WordPress上构建一个应用程序,其中我有一个包含两个条目的表单:
1)推文的内容
2)推文应在用户的Twitter时间轴上发布的时间
形式:
<form method = "POST">
<input type = "text" name = "tweet1">
<input type = "datetime-local" name = "date1">
<input type = "submit">
</form>
现在,在提交表单时,我想在表单中用户指定的时间发布要在用户的Twitter时间轴上发布的文本字段的内容。 $_SESSION['x']
和$_SESSION['y']
分别存储用户的oauth_token
和oauth_token_secret
。
<?php
if(isset($_POST['submitted']))
{
function do_this_one()
{
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['x'], $_SESSION['y']);
$response = $connection->post("statuses/update", array('status' => $_POST['tweet1']));
}
date_default_timezone_set('Asia/Calcutta');
$myDate = strtotime($_POST['date1']);
$now = time();
$ti_one = $myDate - $now;
echo time() + $ti_one;
add_action( 'my_new_event','do_this_one' );
wp_schedule_single_event(time() + $ti_one, 'my_new_event' );
?>
$ti_one
变量基本上存储从现在到用户指定的时间之间的秒数。例如,如果当前时间是下午2:00,那么如果表单中用户指定的时间是下午2:03,那么$ti_one
将等于180秒。这就是我在time() + $ti_one
安排活动的原因:
wp_schedule_single_event(time() + $ti_one, 'my_new_event' );
但是,在提交表单时,不会在指定时间发布推文。上面的代码,即表单和PHP代码的代码位于callback.php
内,这是用户在向OAuth客户端授予权限后重定向到的页面。
我的代码似乎有什么问题?我是否错误地安排了活动?