0

我想更新此功能,以便它还可以导入指向状态和发布时间的链接。

这是原文

function do_tweet_post($tweet) {
    global $wpdb;
    remove_action('publish_post', 'aktt_notify_twitter', 99);
    $data = array(
        'post_content' => $wpdb->escape(aktt_make_clickable($tweet-> tw_text))
        , 'post_title' => $wpdb->escape(trim_add_elipsis($tweet->tw_text, 30))
        , 'post_date' => get_date_from_gmt(date('Y-m-d H:i:s', $tweet->tw_created_at))
        , 'post_category' => array($this->blog_post_category)
        , 'post_status' => 'publish'
        , 'post_author' => $wpdb->escape($this->blog_post_author)
    );
}

我要编辑的元素是'post_content'. 这是我到目前为止所尝试的:

...
'post_content' => $wpdb->escape(aktt_make_clickable(
    $tweet-> tw_text.' from '.
    '<a href="http://www.twitter.com/1beb/statuses/"'.
    tw_id.'>Twitter</a> '.
    tw_created_at
))
...

我对 PHP 不是很熟悉,所以我不知道我的语法是否正确,或者如何处理这种特殊类型的引用 ( ->)。我记得您可以使用 etc 连接字符串''.''.''.,但不确定它是否适用于这种情况。

我为缺乏上下文而道歉,如果我可以添加其他内容以使其更清楚,请告知。

TIA

更新


这是路人的aktt_make_clickable:

function aktt_make_clickable($tweet) {
    $tweet .= ' ';
    $tweet = preg_replace_callback(
            '/(^|\s)@([a-zA-Z0-9_]{1,})(\W)/'
            , create_function(
                '$matches'
                , 'return aktt_profile_link($matches[2], \' @\', $matches[3]);'
            )
            , $tweet
    );
    $tweet = preg_replace_callback(
        '/(^|\s)#([a-zA-Z0-9_]{1,})(\W)/'
        , create_function(
            '$matches'
            , 'return aktt_hashtag_link($matches[2], \' #\', \'\');'
        )
        , $tweet
    );

    if (function_exists('make_chunky')) {
        return make_chunky($tweet);
    }
    else {
        return make_clickable($tweet);
    }
}
4

1 回答 1

1

我相信您错过了$tweet代码中的对象。

试试这个:

'post_content' => $wpdb->escape(aktt_make_clickable($tweet-> tw_text.' from '.
        '<a href="http://www.twitter.com/1beb/statuses/"'.
        $tweet->tw_id.'>Twitter</a> '.$tweet->tw_created_at
))

在看到aktt_make_clickable()原始海报的代码更新后更新:

由于您正在破解插件以使其显示您自己的文本,我想您应该能够直接输入链接:

'post_content' => '<a href="http://www.twitter.com/1beb/statuses/"'.
        $tweet->tw_id.'>'.$tweet->tw_text.'</a> '.$tweet->tw_created_at,

(我注意到您也希望插入作者,但从您的代码中我无法判断作者的正确变量名是什么)。

于 2012-07-28T01:39:38.640 回答