`
webcode
  • 浏览: 5930918 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

wordpress 多区域实现 widget(小工具)

 
阅读更多
Wordpress怎样定制widget?Wordpress怎样多区域调用多个widget?Wordpress怎样自定义widget?
WordPress的Widget小工具是个非常实用的功能,它让非技术型WordPress用户也可以根据自己对版面的需求轻松定制主题,WordPress无数的widgets让用户得以尽情发挥自己的创意。 在很多人的意识里,widget就是出现在侧边栏的小工具,不过实际上它可以出现在主题的任何地方。通过修改wordpress的widget,我们就可以自己修改wordpress主题. 这篇文章我们就来看一下怎样用简单的步骤让主题的其它版块也支持widget。
第一步
在当前主题的functions.php文件里添加下面这段代码:
if (function_exists('register_sidebar')) {
---------------------------------------------------------------
register_sidebar(array(
'name' => 'Widgetized Area',
'id' => 'widgetized-area',
'description' => 'This is a widgetized area.',
'before_widget' => '<div id=”%1$s”>',
'after_widget' => '</div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
---------------------------------------------------------------
}
第一步就是这么简单。 代码添加完毕后就可以继续下一步了。下面是对第一步过程的解释,没兴趣的可以跳过。
上面的代码用以确保当前使用的WordPress版本支持widget,并声明一个用来创建主题widget区域的值的数组。 下面我们来看看这些值:
----------------------------------------------------------------------------------------
Name——将要显示在WP 管理界面的新widget区域的名称
Id——新widget区域的唯一标识符
Description——对新widget区域的说明
Before_widget——用户添加widget小工具前生成的批注
aftere_widget——用户添加widget小工具后生成的批注
Before_title——添加widget小工具的用户名前的批注
After_title——添加widget小工具的用户名后的批注
----------------------------------------------------------------------------------------
有了这些参数,我们的新widget区域最后会得到以下输出(假设我们在新的widget区域添加的是一个内置搜索工具):
<div id=”search-3″>
<h4>Search</h4>
<form id=”searchform” action=”http://localhost/283/” method=”get”>
<div>
<label for=”s”>Search for:</label>
<input id=”s” name=”s” type=”text” /> <input id=”searchsubmit” type=”submit” value=”Search” />
</div>
</form></div>
需要注意的是为开始
<div>
标签生成的批注(markup),该批注根据widget数组指定的通配符匹配获取相关的属性信息。
下面继续第二步骤。
第二步
你希望新的widget区域显示在主题的什么位置,就在相应的主题模板文件中添加以下代码:
<div id=”widgetized-area”>
<?php if ( is_active_sidebar( 'widgetized-area' ) ) : dynamic_sidebar( 'widgetized-area' ); else :?>
<div>
<strong>Widgetized Area</strong>
This panel is active and ready for you to add some widgets via the WP Admin
</div>
<?php endif; ?>
</div>
当这一步骤也完成后,你所选择的位置上就会出现一个新的支持widget的版块,你可以在这个版块添加任何一个自己需要的widget工具。 接下来就能用相同的方法让主题的其它位置也支持widget工具了。
下面是对第二步骤的解释。 如果你没有指定widget,那么If/endif语句之间的内容会被输出到浏览器。 通过这种形式,用户能了解到,自己可以在WordPress后台的“小工具”菜单中对内容输出的位置进行widget定制。 代码里还有一个“pre-widget”类可以设置pre-widget版块的样式。 当一个页面上出现多个widget区域时,可以用一个类名称来保持widget样式统一。
同时也要注意我们要将widget数组(见第一步)中指定的id作为代码第二行dynamic_sidebar() 的参数值。
多个新widget区域
重复第一步和第二步,你就可以让主题的各个位置支持widget了。下面假设你需要在主题的头部、侧边栏、和底部添加widget。 那么首先你需要把下面的代码复制到functions.php文件里:
if (function_exists('register_sidebar')) {
-------------------------------------------------------------------------------
register_sidebar(array(
'name' => 'Header',
'id' => 'header',
'description' => 'This is the widgetized header.',
'before_widget' => '<div id=”%1$s”>',
'after_widget' => '</div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
register_sidebar(array(
'name' => 'Sidebar',
'id' => 'sidebar',
'description' => 'This is the widgetized sidebar.',
'before_widget' => '<div id=”%1$s”>',
'after_widget' => '</div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
register_sidebar(array(
'name' => 'Footer',
'id' => 'footer',
'description' => 'This is the widgetized footer.',
'before_widget' => '<div id=”%1$s”>',
'after_widget' => '</div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
-----------------------------------------------------------------------------
}
接下来把下面的代码分别添加到header.php、sidebar.php和footer.php文件中。
-----------------------------------------------------------------------------------------------------------------
header.php:
<div id=”widgetized-header”>
<?php if ( is_active_sidebar( 'header' ) ) : dynamic_sidebar( 'header' ); else :?>
<div>
<strong>Widgetized Header</strong>
This panel is active and ready for you to add some widgets via the WP Admin
</div>
<?php endif; ?>
</div>
------------------------------------------------------------------------------------------------------------------
sidebar.php:
<div id=”widgetized-sidebar”>
<?php if ( is_active_sidebar( 'sidebar') ) : dynamic_sidebar( 'sidebar' ); else :?>
<div>
<strong>Widgetized Sidebar</strong>
This panel is active and ready for you to add some widgets via the WP Admin
</div>
<?php endif; ?>
</div>
-------------------------------------------------------------------------------------------------------------------
footer.php:
<div id=”widgetized-footer”>
<?php if ( is_active_sidebar( 'footer' ) ) : dynamic_sidebar( 'footer' ); else :?>
<div>
<strong>Widgetized Footer</strong>
This panel is active and ready for you to add some widgets via the WP Admin
</div>
<?php endif; ?>
</div>
--------------------------------------------------------------------------------------------------------------------
成功! 当然你也可以根据自己的需要调整代码中的各种细节,但是以上两步就是使主题其它版块支持widget的全部过程。 接下来要说的是一些widget的技巧。
Widget使用技巧
管理自定义的widget小工具
给主题添加新的widget后,你可以新建一个独立文件夹并命名为widgets.php,将所有自定义的widget都保存到这个文件夹。 用下面的这行代码实现保存自定义widget功能:
if ($wp_version >= 2.8) require_once(TEMPLATEPATH.'/widgets.php');
将代码添加到functions.php文件里,然后将所有自定义的widget工具保存到widgets.php中。这种方法可以确保所有widget都能够顺利加载并且运行在WordPress支持widget的所有版本上。 如此,你的主题文件就能够得到有效管理。
替换WordPress默认widget
WordPress的很多默认小工具都有需要改进的地方。 但值得庆幸的是,在WordPress里你可以自由替换这些默认小工具。 例如,下面这段代码就可以将内置搜索工具换成你自己需要的widget工具。
<?php function custom_search_widget() { ?>
<form action=”http://localhost/283/index.php” method=”get”>
<div>
<label for=”s”>Site Search</label>
<input id=”s” alt=”Search” name=”s” type=”text” />
</div>
</form><?php } if (function_exists('register_sidebar_widget')) register_sidebar_widget(__('Search'), 'custom_search_widget'); ?>
隐藏不用的widget区域
如果你通过上面的方法让主题的某个位置支持了widget,但暂时没有在这个位置上安排合适的小工具,那么这个位置就会空出来,从整个版面看上去会很奇怪。 为了避免这种情况,请用下面的代码围绕暂时不用的widget区域:
<?php if (function_exists('is_sidebar_active') && is_sidebar_active('sidebar')) { ?</p>
< 第二步骤中的代码(或自定义内容) >
<?php } ?>
有了上面这段代码,支持widget的版块只会在确实包含已启用小工具的情况下才显示在前台。 。 同时需要注意,这段代码也支持显示widget外的其它内容。
分享到:
评论

相关推荐

    Random Pages Widget是一款WordPress小工具插件

    Random Pages Widget是一款WordPress小工具插件,在后台添加也比较方便,安装成功后,博客中的文字就会随机的显示在你的侧栏中。 Random Pages Widget插件的安装也十分方便,下载Random Pages Widget插件,将压缩包...

    WordPress侧边栏统计小工具

    1、Enhanced Text Widget (支持在前端写PHP的小工具) 2、WP-Statistics (统计模块,用于借用其统计函数) ======================= 使用方法: 1、把 statistics.css 拷贝到 Wordpress后台的主题目录下,被...

    wordpress仿站工具包.zip

    wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress仿站工具包wordpress...

    wordpress widget(小工具、插件) [google热门搜索]

    NULL 博文链接:https://jacky2007.iteye.com/blog/646514

    WordPress漂亮的音乐播放器插件Aplayer

    WordPress漂亮的音乐播放器插件Aplayer

    打造WordPress时钟插件WP-FlashTime Widget

    WP-FlashTime Widget插件,有二十五中不同风格样式的Flash时钟挂件,博主可以根据自己所用主题风格,选择和主题搭配的Flash时钟,此款插件在WordPress.org官方下载的频率高达15万之多,可想而知它的受欢迎程度。...

    WordPress侧边栏统计小工具 v2.0

    1、Enhanced Text Widget (支持在前端写PHP的小工具) 2、WP-Statistics (统计模块,用于借用其统计函数,要求12.5.3以上版本) ======================= 使用方法: 1、把 statistics.css 拷贝到 Wordpress...

    WordPress侧边栏关于我小工具

    使用方法: 1、把 about-me.css 拷贝到 Wordpress后台的主题目录下...2、在前端打开Wordpress的仪表盘, 外观 -&gt; 小工具 -&gt; 自定义HTML, 把 about-me.html 的内容拷贝进去即可 3、about-me.html 的图片地址要自行修改

    WordPress对侧栏widget进行缓存的插件

    为网站提速,加快网站的访问速度,这是很多博主所希望的,网站快速的打开,可以增强访客的访问信心,如果页面打开速度超级慢,那么,会让人失去等待的耐心的,进而也会失去流量,所以,提高网站的加载速度,也是事关...

    最新WordPress微信小程序社区论坛源码多端应用

    WordPress作为后端生成多端小程序、快应用及APP,可用于资讯、新闻、博客、企业官网等 后端 使用开源博客建站系统wordpress和微慕小程序开源版插件 前端使用uniapp 本项目可以直接同步wordpress的内容并生成H5、微信...

    WordPress-Widget-Boilerplate:[WordPress] WordPress Widget Boilerplate是一个有组织的,可维护的样板,用于使用WordPress最佳实践来构建Widget。

    WordPress小工具样板 WordPress Widget Boilerplate是使用诸如现代工具和面向对象的方法构建WordPress Widget的基础,中。 产品特点 Widget Boilerplate完全基于WordPress 使用约定可以轻松地遵循代码。 在将其...

    wordpress widget demo

    自己用的demo,很简单的关于wordpress widget例子.

    WordPress中文工具箱

    中文 WordPress 工具箱,很多地方也都介绍了,它是为了解决官方 WordPress 没有照顾到的中文相关问题的而开发的,也是款比较有用的插件了。使用这个插件,你可以显示随机文章,最新留言,留言最多文章,发表评论最多...

    最新版去水印小程序源码/基于WordPress的短视频去水印小程序源码

    最新版去水印小程序源码,基于WordPress的短视频去水印小程序源码。本版本全开源,是Wordpress插件 上传到Wordpress 安装插件,启动之后绑定自己的小程序id就可以了。 wordpress可以在宝塔一键部署,也可以用源码带...

    wordpress工具

    php版本,批量修正wordpress的分类,支持从SUPESITE导入采集结果到wordpress

    wordpress相关文章实现代码

    WordPress很多插件可以实现相关文章的功能,插件的优点是配置简单,但是可能会对网站的速度造成一些小的影响,所以很多人还是比较喜欢用代码实现需要的功能,但是话又说回来了,代码实现也有缺点,就是配置复杂,不...

    WordPress微信壁纸小程序暗黑系列源码-支持流量主收益

    WordPress微信壁纸小程序壁纸小程序,可流量主收益,提供高清壁纸下载服务。 该小程序基于Wordpress+酱茄二开插件进行开发,拥有美观漂亮的壁纸展示页面,可搜索喜欢的壁纸,下载壁纸需观看激励视频广告,看一次,...

    新版去水印小程序源码Wordpress插件

    本版本全开源,是Wordpress插件 上传到Wordpress 安装插件 启动之后 绑定自己的小程序id wordpress可以在宝塔一键部署 也可以用我的这个 搭建前我们需要一下东西: 第一个:一台服务器(国内外都可以) 第二个:一个...

Global site tag (gtag.js) - Google Analytics