Challenge your imagination!
1
12:15 PM |
2008.1

有些Widget,如Related Posts,一般来说只应出现在单帖的页面中,而通常首页里大家会习惯堆砌比较多的Widgets,如Twitter、Del.icio.us之类的。WordPress默认并没有给予用户这种便利,而且搜索了一下Plug-in Category似乎也没有找到这样功能的插件,只好自己动手来改造一下。

根据Google到的一些线索发现,其实Widgets机制本身是支持多个Sidebar的,不过大部分的Theme并没有很好的利用这项功能,即使有用到的情况也大多是并排多个Sidebar的用法。于是顺手牵羊,将它略加改造,用于在不同的页面显示不同的Sidebar。分享改造方法如下:

1. 修改Theme下的functions.php,将

if ( function_exists('register_sidebars') )
  register_sidebar();

修改为:

if ( function_exists('register_sidebars') )
{
  register_sidebar(array('name'=>'Sidebar Home',));
  register_sidebar(array('name'=>'Sidebar Single',));
  register_sidebar(array('name'=>'Sidebar Archive',));
}

2. 修改Theme下的sidebar.php,将

get_sidebar();

改为:

if ( function_exists('dynamic_sidebar')
{
  if (is_home() && dynamic_sidebar('Sidebar Home'));
  elseif (is_single() && dynamic_sidebar('Sidebar Single'));
  elseif ((is_archive() || is_search()) && dynamic_sidebar('Sidebar Archive'));
  else dynamic_sidebar();
}

3. 然后回到你的首页后,再打开Widgets管理页面,就可以看到3个不同的Sidebar了。现在就来随心所欲的调整Blog在不同页面下的Widgets组合吧!

Tip:未设置的Sidebar将继承Sidebar Home。




24
8:04 PM |
2006.9

  常常在网上碰到一些有趣的文章、有用的信息,希望与朋友们分享。由于最近开始喜欢上了del.icio.us,所以打算利用它在Blog上实现“网摘分享”功能。

  del.icio.us提供了一个“Daily Blog Post”的服务,但我个人不太喜欢在blog里转贴,因为这样一方面容易招致原文作者的反感(纵然加入了转载链接),另一方面也容易淹没自己Blog中的原创文章。为了保持个人Blog的原汁原味,我采用了另一种分享的方式——“del.icio.us Widget”。

  这应该是Widgets插件自带的一个模块吧,以前都弃之未用,今天才把它翻了出来。配置很简单,这里就不多说了,不过有一个小小的提示:del.icio.us本身是有“私有收藏”功能的,只不过默认没有开启(“Settings - Bookmarks - Private Saving”)。对于不想在Blog上分享的个人收藏,在添加至del.icio.us时只要选上“do not share”即可。

  具体的效果请看右边栏 >>