作为概念证明,我正在尝试使用jQuery和AJAX访问API,并将结果发布到页面。在完成了一些在线教程并尽最大努力将其整合在一起之后,我有以下几点:
功能。php:
//Fire Customizr
require_once( get_template_directory() . \'/inc/init.php\' );
function my_init() {
if (!is_admin()) {
wp_deregister_script(\'jquery\');
wp_register_script(\'jquery\', \'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\', false, \'1.3.2\', true);
wp_enqueue_script(\'jquery\');
// load a JS file from my theme: js/theme.js
wp_enqueue_script(\'instant_search\', get_bloginfo(\'template_url\') . \'/js/instant_search.js\', array(\'jquery\'), \'1.0\', true);
wp_localize_script( \'my_js_function\', \'my_ajax_script\', array( \'ajaxurl\' => admin_url( \'admin-ajax.php\' ) ) );
}
}
add_action(\'template_redirect\', \'my_init\', \'init\');
$dirName = dirname(__FILE__);
$baseName = basename(realpath($dirName));
require_once ("$dirName/twitter_search.php");
add_action("wp_ajax_get_my_option", "get_my_option");
twitter\\u搜索。php:$username = (empty($_REQUEST[\'username\'])) ? FALSE : $_REQUEST[\'username\'];
function get_my_option(){
if($username !== FALSE){
$url = \'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=\'.$username.\'&count=5&include_entities=1&include_rts=1\';
// Get cURL resource
$curl = curl_init();
// Set some options
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
if($resp){
echo json_encode($resp);
}
}
}
instant\\u搜索。js公司jQuery(document).ready(function(){
var user = $(\'#username\');
var result = $(\'#resp\');
$(\'#grab\').click(function(){
if(user.val() !== \'\'){
var config = {
username: user.val()
}
function my_js_function(){
jQuery.ajax({
url: my_ajax_script.ajaxurl,
dataType: "json",
data: ({action : \'get_my_option\'}),
success: function(json){
for(x in json){
result.append(json[x].text);
}
}
})
};
}
})
});
WordPress中的页面帖子:<input type="text" id="username">
<button id="grab">Grab!</button>
<div id="resp">
</div>
我觉得我接近正确,但在解决这个问题时有点过头了。任何帮助都将不胜感激。