发布wordpress帖子时如何使用twitteroauth发推文?

时间:2015-11-05 11:36:18

标签: php wordpress twitter oauth

我正在尝试发布帖子时发推文。在此之前,我在前端页面中实施了https://github.com/abraham/twitteroauth,可以提交表单。

提交表单时发送推文。工作正常。

所有twitteroauth个文件都在我的child-theme文件夹中。

现在我想在管理面板提交帖子时发推文。

所以我尝试了以下代码:

<?php 
/* Tweet when the post is published */

add_action('future_to_publish', 'send_emails_on_new_event');
add_action('new_to_publish', 'send_emails_on_new_event');
add_action('draft_to_publish' ,'send_emails_on_new_event');
add_action('auto-draft_to_publish' ,'send_emails_on_new_event');
function send_emails_on_new_event($post)
{
    require "autoload.php";
    use Abraham\TwitterOAuth\TwitterOAuth;

    $consumerKey = "My Consumer Key"; // Consumer Key
    $consumerSecret = "My Consumer Secret"; // Consumer Secret
    $accessToken = "My Access Token"; // Access Token
    $accessTokenSecret = "My Access Token Secret"; // Access Token Secret
    $connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);    

    /* Media - 2 photos */
    $media1 = $connection->upload('media/upload', array('media' => 'https://pbs.twimg.com/media/CTBv1rCVAAEwKjS.jpg'));
    $media2 = $connection->upload('media/upload', array('media' => 'https://pbs.twimg.com/media/CTBv1rCVAAEwKjS.jpg'));
    $parameters = array(
        'status' => 'Tweeted by the post is published',
        'media_ids' => implode(',', array($media1->media_id_string, $media2->media_id_string)),
    );
    $result = $connection->post('statuses/update', $parameters);

    if ($connection->getLastHttpCode() == 200) {
        echo 'Tweeted successfully';
    } else {
        echo 'Something went wrong';
    }
}
?>

我将此代码放在functions.php中,但当我转到管理面板时,我收到了以下消息。

admin

所以错误发生在use

之后

当我在前一页的前端页面上尝试时,我也遇到了同样的错误。我通过在get_header();

之后跟随两行代码来修复它
require "autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

frontend

我认为在使用use时我必须做些其他事情。那是什么? 我该如何解决这个问题?

0 个答案:

没有答案