如何在wordpress上实现自定义php功能

时间:2013-11-27 21:28:03

标签: php wordpress wordpress-theming jsonp

我在stackoverflow和google中搜索了很多,我发现了一些可能的手册,但其中任何一个都适合我,所以我来这里搜索解决方案,这也可以帮助其他人看看如何实现自定义功能的wordpress ..

我有一个网页,在其顶部,我使用json与auth调用我帐户的最后一个推特并在网站上发布,所以对于实现,在wordpress中会出现一些错误403被禁止...

所以在调用函数的脚本中的index.php顶部主体是......

<div><p><?php echo webstrategic_processString($twitter); ?></p></div>

和函数(同一文件夹中的functios.php)所在的文件是:

/* start function twitter texts twitter api v1.1*/
require_once("./twitteroauth.php"); //Path to twitteroauth library

$twitteruser = "someuser";
$notweets = 1;
$consumerkey = "8kZ6edmqkvCuGg";
$consumersecret = "uG0Qpd4BiyfUHYn250xCkFU";
$accesstoken = "37248546-DNmlMoDoLBmapEGydhwNFRiq5";
$accesstokensecret = "QolC4RhQHYErAxsBQlgGzBfu3dXM0";

function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}

$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);
$twitter = json_encode($tweets[0]->text); 
$twitter = substr($twitter, 1, -1);

function processString($twitter) {
    return preg_replace(array('/https?:\/\/[\w\-\.!~?&+\*\'"(),\/]+/', '#@([\\d\\w]+)#', '/#([\\d\\w]+)/'), array('<a href="$0" rel="nofollow" target="_blank">$0</a>', '<a href="http://twitter.com/$1" rel="nofollow" target="_blank">$0</a>','<a href="http://twitter.com/search?q=%23$1&amp;src=hash" rel="nofollow" target="_blank">$0</a>'), $twitter);
}
$twitter = preg_replace("/\\\\u([0-9abcdef]{4})/", "&#x$1;", $tweets[0]->text); // this line changes from unicode to utf-8

问题是,如何将这比我在functions.php中应用到wordpress函数,以便能够使用我的wordpress主题并在wp header主题中调用函数并工作?使用下一行代码:

<div><p><?php echo webstrategic_processString($twitter); ?></p></div>

谢谢! ='(

1 个答案:

答案 0 :(得分:0)

您必须注册自定义函数,以便在模板呈现标题时运行,位于主题functions.php

add_action('wp_head', 'echo_twitter');

function echo_twitter() {
   global $twitter;
   // assuming your $twitter variable is available as a global
   echo '<div><p>'.webstrategic_processString($twitter).'</p></div>';
}

See here for more info on using Wordpress hooks and using them in themes.