PHP:在特定时间发布推文

时间:2015-08-28 08:28:27

标签: php wordpress forms twitter cron

我正在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_tokenoauth_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客户端授予权限后重定向到的页面。

我的代码似乎有什么问题?我是否错误地安排了活动?

0 个答案:

没有答案