从WP3.5开始,后台就默认支持了颜色选择器(color-picker.js)。因为主题有封装好的类可以用,所以这里给出在插件中的调用方法。
WP默认的用的是Iris家的,只支持RGB。有需要RGBA的请用关键字自行搜索。
1.在插件初始化的地方加入指定元素的响应程序
function color_picker_assets() { wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'my-color-picker-handle', plugins_url('my-plugin.js', __FILE__ ), array( 'wp-color-picker' ), false, true ); } add_action( 'admin_enqueue_scripts', 'color_picker_assets' );
因为是插件后台用,所以只要在admin的时候加载就好了。
2.js中增加处理函数
(function ($) { $(function () { $('#mail-border-color').wpColorPicker(); }); }(jQuery));
关键的元素标志,用id或者class都可以。多次使用的时候还是id好一点
3.在插件的option页里增加插件调用。
<input type= 'text' name='myplugin_settings[mail_border_color]' id='mail-border-color' value='<?php if ( isset( $options['mail_border_color'] ) ) echo $options['mail_border_color']; else echo "#FFC000"; ?>' />
因为用name跟options产生了关联,所以更新的时候就自动保存了,非常方便。
所谓会了不难,难了不会。就这么简单。
沙发一个。
前排。小白,还是喜欢用现成的。
拿来干啥用?
我不是把所有的自作功能都弄了个大插件嘛,邮件回复的格式是写死的。这换主题了,想换个配套的颜色就得改代码。
所以就给做成可配置项了。
连邮件通知的样式都后台自定义了,这个牛逼。
东西用不上,不过想听听“多次使用的时候还是id好一点”这句的见解,id 和 class 的区别真没细究过。
理论上id是不允许重复的,好多浏览器会报错。class可以重复。在这种使用场景下,如果用重复的选择器,后面设的就把前面设的给覆盖了。所以我说id比class好。
有点复杂,看的不太懂!
不错。学习了
这个方法不错,这样就可以很简单地实现在后台选择颜色切换前台颜色了