WordPress记录———自定义小工具自定义图片

如上图,我在WordPress中前台自定义中的小工具里设置轮播图,根据自己需求增加图片数量,添加图片时js有点问题,点击上传,选择图片之后确实显示了,但是却没有触发隐藏input的change事件,搞了好久才发现这个问题,jQuery("input[name=‘"+button_id+"‘]").trigger(‘change‘);//只有触发change事件才会更新。

自己创建的添加轮播图小工具。原本想在模板中增加的,结果技术不够,实现不了TT。下面记录下这个轮播图代码form()中的:

 1     function form($instance){
 6         $instance = wp_parse_args((array)$instance,array(‘lunbo_image_url‘=>‘‘,‘lunbo_image_link‘=>‘‘));//默认值
 8         $lunbo_image_url = htmlspecialchars($instance[‘lunbo_image_url‘]);
10         $lunbo_image_link = htmlspecialchars($instance[‘lunbo_image_link‘]);
11
12         wp_enqueue_media();
13         ?>
14
15         <div class="custom-img-container" id="<?php echo $this->get_field_name(‘lunbo_image_url‘); ?>">
16             <?php if ( !empty($lunbo_image_url) ) : ?>
17                 <img src="<?php echo $lunbo_image_url ?>"  style="max-width:100%;" />
18             <?php endif; ?>
19         </div>
20
21         <p style="text-align:left;"><label for="<?php echo $this->get_field_name(‘lunbo_image_link‘); ?>">轮播图链接:<input id="<?php echo $this->get_field_id(‘lunbo_image_link‘); ?>" class="lunbo-image-link" name="<?php echo $this->get_field_name(‘lunbo_image_link‘); ?>" type="text" value="<?php echo esc_attr($lunbo_image_link); ?>" /></label></p>
22
23         <input type="hidden" value="<?php echo esc_attr($lunbo_image_url); ?>" name="<?php echo $this->get_field_name(‘lunbo_image_url‘); ?>" class="lunbo-image-url" id="<?php echo $this->get_field_id(‘lunbo_image_url‘); ?>"/>
24         <p style="text-align:left;"><label for="<?php echo $this->get_field_name(‘lunbo_image_url‘); ?>"><a id="<?php echo $this->get_field_name(‘lunbo_image_url‘); ?>" class="upload-custom-img button" href="#">上传</a></label></p>
25         <p>
26         <?php $admin_url=admin_url( ‘admin-ajax.php‘ ); ?>
27         <script type="text/javascript">
28             jQuery(document).ready(function(){
29                 var lunbo_image_frame;
30                 var button_id;
31                 jQuery(‘.upload-custom-img‘).on(‘click‘,function(event){
32                     button_id =jQuery( this ).attr(‘id‘);
33                     jQuery("input[name=‘"+button_id+"‘]").val(‘‘);
34                     jQuery("div[id=‘"+button_id+"‘]").empty();
35                     event.preventDefault();
36                     if( lunbo_image_frame ){
37                         lunbo_image_frame.open();
38                         return;
39                     }
40                     lunbo_image_frame = wp.media({
41                         title: ‘添加轮播图‘,
42                         button: {
43                             text: ‘添加‘,
44                         },
45                         multiple: false
46                     });
47
48                     lunbo_image_frame.on(‘select‘,function(){
49                         attachment = lunbo_image_frame.state().get(‘selection‘).first().toJSON();
50                         jQuery("input[name=‘"+button_id+"‘]").val(attachment.url);
51                         jQuery("div[id=‘"+button_id+"‘]").append( ‘<img src="‘+attachment.url+‘"  style="max-width:100%;"/>‘ );
52                         jQuery("input[name=‘"+button_id+"‘]").trigger(‘change‘);//只有触发change事件才会更新
53                         lunbo_image_frame.close();
54                     });
55                     lunbo_image_frame.open();
56                 });
57             });
58         </script>
59         <?php
60
61     }

另附加上自定义小工具学习链接:http://www.ashuwp.com/courses/noplugin/148.html  地址2:http://yangjunwei.com/a/856.html

时间: 2024-08-28 15:55:29

WordPress记录———自定义小工具自定义图片的相关文章

WordPress基础:小工具的使用

通过外观->小工具对挂件区域的内容进行调整 比如添加个日历模块 保存后前台就会显示出来 如果不需要,反过来,把模块拖到左边就可以了.

杂谈:自定义小工具

一.主题 PROMPT='%{$fg[blue]%}[%D %*]${PR_RST} %{$fg[red]%}>%{$fg[yellow]%}>%{$fg[green]%}>${PR_RST} %{$purple%}%n${PR_RST} at %{$orange%}iwm-yyz${PR_RST} in %{$limegreen%}%~${PR_RST} $vcs_info_msg_0_$(virtualenv_info) $ ' 二.终端工具 # ip查询 i() curl ip.c

WordPress小工具开发教程(网站公告)

WordPress小工具开发教程(网站公告) BY TIANQIXIN · 2012 年 12 月 26 日 wordpress主题小工具,可以自由拖动到侧边栏,并在前台实现相应功能!一般自带的小工具功能有限,我们可以通过自己开发小工具来增强wordpress的侧边栏功能.制作wordpress小工具需要用到WP_Widget类,该类位于wp-includes\widgets.php,有兴趣的同学可以打开看看,基本上我们只要扩展这个类就可以开发自己的小工具了.本站以网站公告为例,最终效果图如下:

自定义水波球清理内存的悬浮窗小工具

一.概述 现在一些手机管家都会有一个用来清理内存的悬浮窗小工具,感觉挺实用的,就自己做了一个.首先介绍一下这个工具的功能,除了可以清理内存,还有调节手机屏幕亮度.手电筒.无线网.移动数据.蓝牙.GPS开关的功能.先上图,感受一波: 清理手机内存     一些常用功能的开关 二.功能实现 1.悬浮窗     MainActivity只有两个按钮,控制悬浮窗的打开和关闭.这里我是用Service去控制的.下面我把FloatWindowService的代码贴出来: public class Float

值得记录的(五)- 微信小程序自定义 tabbar

一定的需求情况下,无法使用小程序原生的 tabbar 的时候,需要自行实现一个和 tabbar 功能一模一样的自制组件. 查阅了海量的博客和文档之后,亲自踩坑.总结了三种在不使用微信小程序原生 tabbar的情况下自制 tabbar 的方法.并说说这几种方法各自的特色. 类 navigator 跳转方式 类 navigator 跳转方式是我自己起的名称,因为它的实现思路就是这个样子的.期初参考 微信小程序自定义tabBar组件开发 这篇博文的思路.进行了这种方式的尝试,并为后续提供了解决思路.在

java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫

获取[下载地址]   QQ: 313596790   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器(开发利器)+快速构建表单;            QQ:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 B 集成阿里巴巴数据库连接池druid;

quartz定时任务调度 自定义表单 java图片爬虫

获取[下载地址]   QQ: 313596790A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩

java sql编辑器 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫 java代码生成器

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro  Shiro 是一个用 Java 语言

CSS3的自定义字体@font-face:将图片ICON转为字体

大家都知道现在各个浏览器都支持CSS3的自定义字体(@font-face),包括IE6都支持,只是各自对字体文件格式的支持不太一样.那么对于网站中用到的各种icon,我们就可以尝试使用font来实现,本文将详细讲解这种用法. 为什么要将icon做成字体? 在很多网站项目中,我们常常会用到各种透明小图标,然后网站要兼容各个浏览器,也可能会有多个尺寸,甚至还要考虑换肤等需求.那么我们就要将这些小图标输出为多种尺寸.颜色和文件格式,比如png8 alpha透明或者png8 index透明等. 比如,t