需要帮助才能使用Jquery自动完成功能从wordpress DB获取博客。
我创建插件,其中一个字段需要提供给用户选项以从网络中选择一些博客。
最好的解决方案是创建Jquery自动完成字段。因此,当用户开始输入时,Jquery自动完成将从DB获得结果。
也许在wordpress核心有现成的解决方案,我想念一些东西?
我有创建字段:
<form method="post">
<input id="mytest" type="text" name="mytest" style="width: 300px" />
</form>
我已经设置了Jquery代码:
(function( $ ) {
$(function() {
$( "#mytest" ).autocomplete({
source: "<? echo $campaign_plugin_url; ?>/autocomplete.php",
minLength: 1 // how many character when typing to display auto complete
});
});
})( jQuery );
这里是从DB获取博客的代码(在autocomplete.php中)(此代码在wordpress核心中直到3.4):
function wp_ajax_autocomplete_site() {
global $wpdb;
$like_escaped_term = strtolower( $_GET['term'] );
$sites = $wpdb->get_results( $wpdb->prepare( "SELECT blog_id, domain, path FROM $wpdb->blogs WHERE ( domain LIKE %s OR path LIKE %s ) AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", $like_escaped_term, $like_escaped_term ), ARRAY_A );
if ( empty( $sites ) )
wp_die( -1 );
foreach ( (array) $sites as $details ) {
$blogname = get_blog_option( $details['blog_id'], 'blogname' );
$return[] = array(
'label' => sprintf( '%1$s (%2$s)', $blogname, $details['domain'] . $details['path'] ),
'value' => $details['domain']
);
}
$response = json_encode( $return );
echo $response;
exit();
}
Jquery自动完成工作没有任何错误,但没有得到任何数据。
需要你的帮助!
由于