我正在寻找一个小部件,用户可以从下拉菜单中选择一个Web徽章列表。在选择时,小部件代码应该显示图像的预览。我正在努力让jquery工作来预览管理员wordpress小部件页面中的图像。使用jquery调用的Wordpress小部件
小部件代码如下
<?php
class Pretty_Badges extends WP_Widget {
function Pretty_Badges() {
/* Widget settings. */
$widget_ops = array(
'classname' => 'prettybadges',
'description' => 'Loved By The Pretty Blog');
/* Widget control settings. */
$control_ops = array(
'width' => 250,
'height' => 250,
'id_base' => 'prettybadges-widget');
/* Create the widget. */
$this->WP_Widget('prettybadges-widget', 'The Pretty Blog Badges', $widget_ops, $control_ops);
if(is_admin()) {
$admin_script_url = WP_PLUGIN_URL . '/love-the-pretty-blog/js/prettyblog.js';
$admin_script_file = WP_PLUGIN_DIR . '/love-the-pretty-blog/js/prettyblog.js';
if(file_exists($admin_script_file)) {
wp_register_script('tweet-it-script', $admin_script_url);
wp_enqueue_script('tweet-it-script');
}
}
}
function form ($instance) {
/* Set up some default widget settings. */
$defaults = array('badge' => 'default');
$instance = wp_parse_args((array) $instance, $defaults); ?>
<p>
<label for="<?php echo $this->get_field_id('badge'); ?>">Select Pretty Badge:</label>
<p>
<input type="radio" <?php if (1==$instance['badge']) echo 'checked=checked';?> name="<?php echo $this->get_field_name('badge'); ?>" value="1" />
<img src="http://theprettyblog.com/wp-content/themes/theprettyblogv2/images/logo.gif"/>
</p>
<p>
<select name="image" id="image" class="inputbox" size="1">
<option value=""> - Select Image - </option>
<option value="http://theprettyblog.com/wp-content/themes/theprettyblogv2/images/logo.gif">image1.jpg</option>
<option value="http://theprettyblog.com/wp-content/themes/theprettyblogv2/images/logo.gif">image2.jpg</option>
<option value="http://theprettyblog.com/wp-content/themes/theprettyblogv2/images/logo.gif">image3.jpg</option>
</select>
<div id="imagePreview">
</div>
</p>
<?php
}
和jQuery的文件中adavnce
$t = jQuery.noConflict();
$t(function() {
$t("#image").change(function() {
var src = $t(this).val();
$t("#imagePreview").html(src ? "<img src='" + src + "'>" : "");
});
});
jQuery = jQuery.noConflict();
感谢
这不是你的问题,但你不真的需要$ t ... noConflict()的东西;你可以简单地把你的函数作为这个例子:http://jsfiddle.net/katowulf/AM2gF/ – Kato
至于你的问题,这将有助于很多知道你得到的错误,而不是必须去创建我自己的WP插件来找出。你尝试过Firebug或Firebug Lite吗?你是否在var src中尝试了一个断点...? ;) – Kato
theres没有错误,它只是不工作 –