linux wordpress Firefox java Ubuntu apache HTML5 程序员 开源 shell mysql Windows nginx google 微软 linux命令 Python Android centos php

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

很多主题设计者都喜欢添加固定的侧边功能模块替换Wordpress默认小工具(widget)功能,但上下排列位置是固定的,重新排序需要修改模版文件,对新手来说有一定难度,如果能像Wordpress默认小工具一样,可通过拖拽移动位置是不是会很方便,这篇文章就教大家实现这一功能。

其实强大的Wordpress早已为我们提供了这方面的接口(API),很多国外主题已集成该功能,只是国内主题中很少见到,实现这一功能要用到:

wp_register_sidebar_widget()  

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

一、首先将主题固定的模块函数提取出来,放到单独的模版文件中。

比如将下面这两段“随机文章及分类目录”代码,分别粘贴到新建的两个:lt-random.PHP和categories.php文件模版中,

随机文章文章代码:

<aside id="lt-random" class="widget widget_recent_entries">
<h3 class="widget-title">随机推荐阅读</h3>
<ul>
<?php
	global $post;
	$postid = $post->ID;
	$args = array( 'orderby' => 'rand', 'post__not_in' => array($post->ID), 'showposts' => 15);
	$query_posts = new WP_Query();
	$query_posts->query($args);
?>
<?php while ($query_posts->have_posts()) : $query_posts->the_post(); ?>
<li><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
</aside>

文章分类代码:

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

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

if( function_exists( 'register_sidebar_widget' ) ) {
    register_sidebar_widget('随机文章','lt_random');
    register_sidebar_widget('文章分类','lt_categories');
}

及:

function lt_random() { include(TEMPLATEPATH . '/lt-random.php'); }
function lt_categories() { include(TEMPLATEPATH . '/categories.php'); }

之后,打开Wordpress小工具页面,会多出两个小工具“随机文章和文章分类”,与默认小工具一样可任意拖拽到侧边widget中,加上相应的样式基本就大功造成了。

另外还可以替换和隐藏默认的小工具,可以下面参考官网Codex

即将升级的HotNews Pro 主题已将大部分侧边固定功能模块,移到Wordpress小工具(widget)面板中,方便用户灵活安排侧边模块位置。

相关参考:Function Reference/register sidebar widget

延伸阅读

  • 抱歉,暂无相关内容!

评论