• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~! QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

为WordPress添加自定义小工具(widget)

WP其他 奇跡の海 2年前 (2017-04-24) 273次浏览 已收录 0个评论 扫描二维码

介绍

为 WordPress 添加自定义小工具(widget)
很多主题设计者都喜欢添加固定的侧边功能模块替换WordPress默认小工具(widget)功能,但上下排列位置是固定的,重新排序需要修改模版文件,对新手来说有一定难度,如果能像WordPress默认小工具一样,可通过拖拽移动位置是不是会很方便,这篇文章就教大家实现这一功能。
其实强大的WordPress早已为我们提供了这方面的接口(API),很多国外主题已集成该功能,只是国内主题中很少见到,实现这一功能要用到:

wp_register_sidebar_widget()  

通过上面函数可以向WordPress小工具(widget)页面注册添加自定义小工具项目。

提取函数

首先将主题固定的模块函数提取出来,放到单独的模版文件中。
比如将下面这两段“热门文章及分类目录”代码,分别粘贴到新建的两个:hot.php 和 categories.php 文件模版中,
热门文章代码:

&lt;?php $popular = new <a href="http://www.seaomc.com/archives/tag/wp" title="查看更多关于 WP 的文章" target="_blank">WP</a>_Query('orderby=comment_count&amp;posts_per_page=10'); ?&gt;   
&lt;?php while ($popular-&gt;have_posts()) : $popular-&gt;the_post(); ?&gt;   
&lt;li&gt;&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php endwhile; ?&gt;  

文章分类代码:

<ul><?php wp_list_cats("sort_column=name&hierarchical=0&exclude="); ?></ul>

添加

打开主题的 functions.php,添加:

if( function_exists( 'register_sidebar_widget' ) ) {   
    register_sidebar_widget('热门文章','mb_hot');   
    register_sidebar_widget('文章分类','mb_categories');   
}  

及:

function mb_mb_hot() { include(TEMPLATEPATH . '/mb_hot.php'); }   
function mb_categories() { include(TEMPLATEPATH . '/categories.php'); }  

之后,打开WordPress小工具页面,会多出两个小工具“热门文章和文章分类”,与默认小工具一样可任意拖拽到侧边 widget 中,加上相应的样式基本就大功造成了。
另外还可以替换和隐藏默认的小工具,可以下面参考官网 Codex
即将升级的 HotNews Pro 主题已将大部分侧边固定功能模块,移到WordPress小工具(widget)面板中,方便用户灵活安排侧边模块位置。

参考

相关参考:

Function Reference/register sidebar widget

Widgets API


版权声明:本站所有文章和资源使用BY-NC-SA协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->为 WordPress 添加自定义小工具(widget)!在下边可以分享本文哦!
本文最后更新于2018年3月14日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址