前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自己动手写 WordPress 插件 2b:窗体化插件 b

自己动手写 WordPress 插件 2b:窗体化插件 b

作者头像
Denis
发布2023-04-15 10:56:19
1720
发布2023-04-15 10:56:19
举报
文章被收录于专栏:WordPress果酱WordPress果酱

上一节我们讲解了如何窗体化插件的第一部分,今天我们将继续第二部分,如何给我们创建的 Widget 创建选项 Panel。

我想使用沙发二代的同学已经感觉现在很轻松了,如果主题支持,根本不用修改模板就能调用该插件。但是最求完美的同学会发现默认输出的 Title 是“最沙发的人”。有些比较追求个性的同学总是希望自己定义标题的。好吧,这一节,我们就完成这部分同学的愿望,能够自定义标题。并推出沙发三代!

如何自定义标题呢?其实就是在 Widget 能够提供一个选项的界面,让用户自己输入标题。好吧,搜索下或者看看别人的插件(偶经常这样写插件的,如果你的插件因此被我偷师了,算你倒霉!嘿嘿!),发现是通过 register_widget_control 这个 hook 绑定的。这样事情就变得很简单了。我们把选项的数据存储到一个名字叫做 widget_sofa option 中即可。修改如下:

在昨天创建的 widget_sidebar_sofa 的函数的最后中添加如下代码:

代码语言:javascript
复制
 function widget_sofa_options() {
 	$sofa_options = $new_sofa_options = get_option('widget_sofa'); //获取数据库中的 widget_sofa
 	if ( $_POST["sofa_submit"] ) { //如果提交更新
 		$new_sofa_options['title'] = strip_tags(stripslashes($_POST["sofa_title"]));
 		if ( $sofa_options != $new_sofa_options ) { //如果有更新
 			$sofa_options = $new_sofa_options;
 			update_option('widget_sofa', $sofa_options);
 		}
 	}
 	$title = attribute_escape($sofa_options['title']);
 ?>

widget_sofa 函数中的 echo $before_widget; 中插入以下几行:

代码语言:javascript
复制

WordPress 的 API。请保持关注。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档