11款免费移动版WordPress主题

伴随着智能移动设备的普及,越来越多的人依赖移动设备,动动手指就能获得日常信息。由于这些移动设备屏幕尺寸小、功能有限,因此博客和网站需要提供一个专门为移动设备优化的版本。在里为您收集一些高品质的免费的移动WordPress主题,方便读者使用移动设备浏览和阅读您的博客或网站。

FaveMobile [ Features | Demo | Download ]

jQuery Mobile Features | Download ]

Mobius Features | Demo | Download ]

WP Touch Features | Demo | Download ]

SimpleBlue Mobile [ Features | Demo | Download ]

SimpleBlue Mobile

iPhonsta [ Features | Demo | Download ]

BuddyPress Mobile [ Features | Demo | Download ]

BuddyPress Mobile

WPapptouch [ Features | Demo | Download ]

WPapptouch

WordPress Mobile Theme [ Features | Demo | Download ]

WordPress Mobile Theme

WordPress Mobile Pack [ Features | Demo | Download ]

WordPress Mobile Pack

Smooci 2 [ Features | Demo | Download ]

Smooci 2

原文:http://www.hongkiat.com/blog/mobile-wordpress-themes/

jQuery实现侧边栏随窗口滚动

近日帮人作主题要求弄个侧边栏某个模块随窗口一起滚动,可能其他童鞋也想给主题加上这个小功能,贴出来,供大家参考。

方法一:

很简单,前提是你的主题必须已加载了jQuery。

把下面代码加到主题头部header.php模版中即可:

  1. <script type=“text/javascript”>     
  2. $(function() {  
  3.     var $sidebar   = $(“#sidebar”),     
  4.         $window    = $(window),     
  5.         offset     = $sidebar.offset(),     
  6.         topPadding = 15;     
  7.     
  8.     $window.scroll(function() {     
  9.         if ($window.scrollTop() > offset.top) {     
  10.             $sidebar.stop().animate({     
  11.                 marginTop: $window.scrollTop() – offset.top + topPadding     
  12.             });     
  13.         } else {     
  14.             $sidebar.stop().animate({     
  15.                 marginTop: 0     
  16.             });     
  17.         }     
  18.     });     
  19.     
  20. });     
  21. </script>    

可根据不同的主题模版,自行修改一下其中的DIV标签#sidebar名称。此方法兼容所有浏览器。

演示效果

HotNews主题也可使用该功能,默认是整个侧边栏随窗口滚动,受主题布局功能限制,单独滚动某个模块效果不是很理想。

参考自:http://css-tricks.com/scrollfollow-sidebar/

方法二:

本人未试过,可以自行参阅:js页面滚动时层智能浮动定位实现

  1. $.fn.smartFloat = function() {    
  2.     var position = function(element) {    
  3.         var top = element.position().top, pos = element.css(“position”);    
  4.         $(window).scroll(function() {    
  5.             var scrolls = $(this).scrollTop();    
  6.             if (scrolls > top) {    
  7.                 if (window.XMLHttpRequest) {    
  8.                     element.css({    
  9.                         position: “fixed”,    
  10.                         top: 0    
  11.                     });        
  12.                 } else {    
  13.                     element.css({    
  14.                         top: scrolls    
  15.                     });        
  16.                 }    
  17.             }else {    
  18.                 element.css({    
  19.                     position: “absolute”,    
  20.                     top: top    
  21.                 });        
  22.             }    
  23.         });    
  24.     };    
  25.     return $(this).each(function() {    
  26.         position($(this));                             
  27.     });    
  28. };    
  29. $(“#float”).smartFloat();    

把WordPress放在子目录而地址显示根目录的方法

以WordPress放在在子目录博客显示在根目录开题。要实现如下所示的效果,空间需支持rewrite–这是前提。如果不支持的话神都救不了你,哈哈。如果我们要在根目录安装WordPress,根目录就会被WordPress的文件弄得很乱,如果再添加了自己的一些目 录就更加难以维护了。不过还好,WordPress允许将Blog主页不同于 WordPress 的安装目录的Web地址,这样我们就可以把WordPress放在子目录中,只需要简单的设置便可以让链接形式仍以根目录显示。这篇文章翻译自 WordPress官方文档,水平有限,见谅!下面是译文:

把WordPress放在在单独目录中而让你的博客显示在根目录

很多人想让WordPress来驱动他们站点的根目录(例如:http://example.com),但是他们不想让所有的的 WordPress文件把他们的根目录弄乱。WordPress允许你把WordPress文件放在一个子目录,同时让你的博客显示在站点的根目录中。

把WordPress放到单独它单独目录下的程序如下:

1、新建一个用来存放WordPress核心文件的新文件夹(本例以/wordpress示范)。

2、进入选项(options)面板。

3、找到WordPress address (URL)(中文用户请查找”WordPress 地址(URL)“)这个选项:把后面的地址改成你存放WordPress文件的文件夹地址。比如:http://example.com/wordpress

4、找到Blog address (URL)(中文用户请查找”Blog 地址(URL)“)这个选项:把此地址改为你网站的根目录的URL。例如:http://example.com

5、点击Update Options(中文用户为”更新设置“)。

6、把WordPress的核心文件转移到你新建的文件夹中,也就是WordPress address (URL)这个目录。还不明白?在明确一点:/wordpress目录。

7、把index.php和.htaccess文件从WordPress目录转移到根目录(即Blog address)中。

8、用文本编辑器打开并编辑根目录下”index.php”这个文件。

9、找到如下代码,修改并保存:找到:

  1. require(‘./wp-blog-header.php’);    

把地址改为你WordPress目录下的文件:

  1. require(‘./wordpress/wp-blog-header.php’);   

10、登陆控制面板,新的控制面板地址为http://example.com/wordpress/wp-admin/

11、如果你设置了结构化链接地址(Permalinks),打开永久链接选 项面板更新Permalinks结构。如果.htaccess有正确的权限设置的话WordPress会自动更新你的.htaccess文件。如果 WordPress不能写入你的.htaccess文件,就会显示新的rewrite规则,因此你就需要手动把rewrite规则复制到. htaccess文件中(和index.php同目录)。

原文地址:http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

译文也同时发布于WordPress中文文档中。

这些步骤貌似很麻烦但实际操作起来很简单,老外写的过于详细了,相信稍有经验的人都应该可以看懂。以前我的WordPress也安装在根目录,但今天按照操作改到了子目录中,根目录就变得清爽多了。注意操作步骤要严格按照这上面的来,每布的顺序不要弄错,否则你可能就进不了后台,或者页面无法打开。而一旦出现那些问题就只能手动修改数据库了。

把WordPress放在根目录而地址显示子目录的方法

把WordPress安装在根目录但是让博客首页显示在子目录,这和上篇的教程实现的效果刚好相反。要实现这样的效果前提是你的空间必须支持rewrite功能。我们可以用两种方法实现:

1、参照上篇的方法,相信大家已经心中有数了:WordPress安装到根目录,我们在根目录下再新建一个子目录,比如”blog”目录。同样将根目录的index.php和.htaccess文件转移到”blog”目录目录中。在index.php里:

  1. require(’./wp-blog-header.php’);    

修改为:

  1. require(’../wp-blog-header.php’);  

再加个点就行了,表示引用上个目录中的文件。

其他更改博客和WordPress地址方法和上篇类似,照葫芦画瓢即可。注意把博客地址改为:http://example.com/blog,同时要把页面结构更改成”/blog/xxx…”类型。

2、下面这种方法要用到页面模板的相关技巧。对页面模板一无所知?先去水煮鱼的使用WordPress静态模板那里充点电把!充过电别忘了回来,呵呵~利用页面模板我们甚至还可以将WordPress打造成一个轻量级的CMS。

新建一个blog.php的文件,放到所使用的模板目录中。此文件所包含的内容为:

  1. <?php    
  2. /*  
  3. Template Name: Blog  
  4. */    
  5. ?>    
  6.     
  7. <?php query_posts(’cat=-0′); //gets all posts    
  8. load_template( TEMPLATEPATH . ‘/index.php’); //loads index    
  9. ?>    

登陆后台,新建一个页面,命名为”blog”,并使用”blog”页面模板。切记一定要让此页面的缩略名、或者叫做数据域,更改为”blog”!

最后一步同样是更新页面结构,把页面结构更新为”/blog/xxx…”类型即可。

到这里两种方法都介绍完毕。两种方法实现的功能都是一样的,不过个人觉得把WordPress放根目录而让博客显示在子目录中并不是一个好办法,这会让你的根目录杂乱且难以维护,明显没有WordPress放子目录而博客根目录方便。真要想让博客放在子目录的话,倒不如直接把WordPress安装在子目录似乎更方便一些,还免得设置了。以上的两种方法实用性并不大,谨作为一种小技巧来学习吧。:)

碰到的内存限制不足问题解决方法

目前有些主机的内存大小限制是32M,在使用WordPress时可能会不够用,您可能会碰到类似以下问题:

Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in /home2/marine/public_html/wp-includes/kses.php(1030) : runtime-created function on line 1


Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 491520 bytes) in /home2/free919/public_html/wp-includes/class-simplepie.php on line 4134

下面给出一个解决方案,分享给各位用户。
1. 下载这个php.ini.zip(见附件)的文件,然后在cpanel的“文件管理器”把这个文件上传到public_html目录,接着选中php.ini.zip文件,点右上角的“解压缩”。
我们可以看到在public_html有了一个php.ini的文件了。
2. 修改public_html目录下的.htaccess文件,添加下面分割线内容在 .htaccess 文件。

suPHP_ConfigPath /home/username/public_html/

提示: 用你所在的主机cpanel的用户名替换掉 username,home这个有些主机默认是home2的你可能也要改。
注意:本站长在调试完成后发现后台管理员不能登录,重装了WP后问题解决,所以,在使用本方法前请做好备份。

下载地址:php.ini.zip

 

【图片点击放大插件】auto-highslide 中文版

Auto HighSlide插件简介:
只增加了图片特效 HighSlide 的 JS ,看清楚只有图片,而且要求是图片必须以超链接形式到原图,而且不用增加多余的代码,插件会自动为你增加。
用 Windows Live Writer 的朋友只要上传一张图片,能自动生成缩略图并且链接到原图,就会有效果;使用 WordPress 后台增加文章的用户可以使用上传图片,然后选择链接到原图,大小设置成中等或者根据自己需要甚至是原图都可,如图:
image.png

Auto HighSlide插件小提示:
1.只要用后台上传过一张图片,那么,以后上传的任何图片都会保留上一次上传的形式。比如,你设置了链接到原图,并且是中等大小,那么,以后上传的所有图片都会这样。另外,通过 WordPress 后台上传一个图片,就会自动增加一个 postid ,所以,推荐直接使用 Windows Live Writer 写博客。
2.点击图片放大以后还可以用鼠标左键拖动。

下载地址1:http://pan.baidu.com/share/link?shareid=225983&uk=2785289163

下载地址2:http://qiannao.com/file/hendli/7cf59edb/

WordPress主题[lovnvns5.0]解密版

在功能设置上相对于上个版本有了很大的改变,可以说功能更加强大,设置更加简单,全后台操作,免去修改主题代码的麻烦。你可以设置你的博客为cms布局或是blog文章布局,如果你的文章比较少。可以先选用blog布局。等文章多了再换回cms布局!内嵌瀑布流布局、小说布局分类模板!

演示地址:http://www.bocaitiantang.com/

qicaizhijia.jpg

lovnvns 5.0更新日志:

更新文件较多,之前使用此主题的请全部上传替换

1、修正侧边栏小工具布局问题

2、后台增加cms布局分类分账显示数量

3、后台增加首页置顶文章显示控制,可选择开启或关闭

4、增加小说分类模板

5、默认全站广告为关闭状态,后台可自行设置广告

6、修正部分代码书写错误,全面兼容W3C标准

7、修正部分IE6浏览器下错位问题

8、一些细节优化

一、安装主题

下载主题文件。上传到wp-content/themes/ 目录,为防止出现错位等情况。选择启用lovnvns主题后请先进入主题设置点击保存更改

二、安装插件

本主题力求达到速度、seo、视觉等臻至完美。所以建议安装本主题的童鞋只需安装以下三个插件,其他插件能免则免。

WP-PostViews,用于统计文章阅读次数的话

jQuery Colorbox,用于相册页面幻灯显示

Baidu Sitemap Generator,用于生成百度地图及站点地图文件

三、设置导航栏

详见:wordpress自定义导航菜单教程

四、设置主题

安装选择主题之后,点击后台侧边栏上面“当前主题设置”进入主题设置界面。

然后根据上面的提示输入信息,并且点击右上角的“保存更改”。特别提醒:网站SEO设置关键字分隔使用英文逗号( , )。

五、独立页面设置

详见:wordpress独立页面设置教程

六、首页文字缩略图

文章列表侧边栏的图片,如何不填的话是随机显示的,当然也可以自定义。在后台设置特色图像

七、幻灯片显示设置

详见:wordpress幻灯片显示设置教程

八、首页分类文章显示设置

输入要显示的分类id,分类之间用英文“,”隔开,如:“1,2,3”

具体查看:wordpress分类id查看教程

九、建站日期填写规范:四位数年-两位数月份-两位数日期。如:2012-05-29,否则运行天数不会自动计算出来!

十、小说、瀑布流模板设置

详见:lovnvns/binhow/loveves主题分类模板设置教程
=====================================

注:上面地址提供的是加密过,不能修改源码的版本,本站提供的是它的解密版!

下载地址1:http://pan.baidu.com/s/1ntsJ0Id

WordPress All in One SEO Pack插件

SEO插件小编推介:wordpress排名比较靠前的一个seo插件,很多人都在用。例如大家都孰知的“我们都爱冷笑话 ”

All in One SEO Pack 是 wordpress 的一个 seo 插件,用这一个插件可以实现 wordpress 的整体优化。不需要 title 插件, meta 插件, tag 插件,也不需要 DupPrevent Plugin 插件,更不用担心因为插件的交替所带来的一堆麻烦。

一、 All in One SEO Pack 有什么作用?
1. 可以给每篇文章添加独立的关键词;
2. 可以给每篇文章添加独立的 meta 标签;
3. 可以给每篇文章添加独立的 description ;
4. 可以给每篇文章添加独立的摘要;
5. 可以给每篇文章自动生成摘要;
6. 可以防止存档页和首页的内容被抓取,从而防止因重复内容被 google 降权。

二、如何安装使用 All in One SEO Pack ?
1. 下载 All in One SEO Pack 并解压,上传到 plugin 目录;
2. 登录 wordpress 后台控制面板激活该插件;
3. 在选项菜单里面找到 all in one seo 选项,把里面的空白内容填完。

WordPress主题制作函数完整版

本教程是我在新浪博客上看到的一篇关于WordPress主题制作的教程,里面涉及到的函数都是Wordpress制作的时候必备的,通过本教程你可以快速学习Wordpress模板制作、改造、设计等。

WordPress基本模板文件

一套完整的WordPress模板应至少具有如下文件:

  • style.css: CSS(样式表)文件
  • index.php: 主页模板
  • archive.php: Archive/Category模板
  • 404.php: Not Found 错误页模板
  • comments.php: 留言/回复模板
  • footer.php: Footer模板
  • header.php: Header模板
  • sidebar.php: 侧栏模板
  • page.php: 内容页(Page)模板
  • single.php: 内容页(Post)模板
  • searchform.php: 搜索表单模板
  • search.php : 搜索结果模板

当然,具体到特定的某款模板,可能不止这些文件,但一般而言,这些文件是每套模板所必备的。

基本条件判断Tag

  • is_home(): 是否为主页
  • is_single(): 是否为内容页(Post)
  • is_page(): 是否为内容页(Page)
  • is_category(): 是否为Category/Archive页
  • is_tag(): 是否为Tag存档页
  • is_date(): 是否为指定日期存档页
  • is_year(): 是否为指定年份存档页
  • is_month(): 是否为指定月份存档页
  • is_day(): 是否为指定日存档页
  • is_time(): 是否为指定时间存档页
  • is_archive(): 是否为存档页
  • is_search(): 是否为搜索结果页
  • is_404(): 是否为 “HTTP 404: Not Found” 错误页
  • is_paged() : 主页/Category/Archive页是否以多页显示

Header部分常用到的PHP函数

  • <?php bloginfo(’name’); ?>: 博客名称(Title)
  • <?php bloginfo(’stylesheet_url’); ?>: CSS文件路径
  • <?php bloginfo(’pingback_url’); ?>: PingBack Url
  • <?php bloginfo(’template_url’); ?>: 模板文件路径
  • <?php bloginfo(’version’); ?>: WordPress版本
  • <?php bloginfo(’atom_url’); ?>: Atom Url
  • <?php bloginfo(’rss2_url’); ?>: RSS 2.o Url
  • <?php bloginfo(’url’); ?>: 博客 Url
  • <?php bloginfo(’html_type’); ?>: 博客网页Html类型
  • <?php bloginfo(’charset’); ?>: 博客网页编码
  • <?php bloginfo(’description’); ?>: 博客描述
  • <?php wp_title(); ?> : 特定内容页(Post/Page)的标题

模板常用的PHP函数及命令

  • <?php get_header(); ?>: 调用Header模板
  • <?php get_sidebar(); ?>: 调用Sidebar模板
  • <?php get_footer(); ?>: 调用Footer模板
  • <?php the_content(); ?>: 显示内容(Post/Page)
  • <?php if(have_posts()) : ?>: 检查是否存在Post/Page
  • <?php while(have_posts()) : the_post(); ?>: 如果存在Post/Page则予以显示
  • <?php endwhile; ?>: While 结束
  • <?php endif; ?>: If 结束
  • <?php the_time(’字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
  • <?php comments_popup_link(); ?>: 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
  • <?php the_title(); ?>: 内容页(Post/Page)标题
  • <?php the_permalink() ?>: 内容页(Post/Page) Url
  • <?php the_category(’, ‘) ?>: 特定内容页(Post/Page)所属Category
  • <?php the_author(); ?>: 作者
  • <?php the_ID(); ?>: 特定内容页(Post/Page) ID
  • <?php edit_post_link(); ?>: 如果用户已登录并具有权限,显示编辑链接
  • <?php get_links_list(); ?>: 显示Blogroll中的链接
  • <?php comments_template(); ?>: 调用留言/回复模板
  • <?php wp_list_pages(); ?>: 显示Page列表
  • <?php wp_list_categories(); ?>: 显示Categories列表
  • <?php next_post_link(’ %link ‘); ?>: 下一篇文章链接
  • <?php previous_post_link(’%link’); ?>: 上一篇文章链接
  • <?php get_calendar(); ?>: 日历
  • <?php wp_get_archives() ?>: 显示内容存档
  • <?php posts_nav_link(); ?>: 导航,显示上一篇/下一篇文章链接
  • <?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

与模板相关的其他函数

  • <?php _e(’Message’); ?>: 输出相应信息
  • <?php wp_register(); ?>: 显示注册链接
  • <?php wp_loginout(); ?>: 显示登录/注销链接
  • <!–next page–>: 将当前内容分页
  • <!–more–>: 将当前内容截断,以不在主页/目录页显示全部内容
  • <?php timer_stop(1); ?>: 网页加载时间(秒)
  • <?php echo get_num_queries(); ?> : 网页加载查询量

 

这节我们接着上节,继续介绍如何定义index.php以及如何派生出其它文件,在index.php文件中,在body元素内,新建如下结构化标记元素,各元素都带有不同的id属性:

<div id=”page”>
<div id=”header”></div>
<div id=”content”></div>
<div id=”sidebar”></div>
<div id=”footer”></div>
</div>

这些不同的属性,分别代表着不同的区域,让人一看就知道是什么意思,下面我们重点探讨header,content,sidebar,footer部分的构建。

(一).构建header

<div id=”header”></div> 元素的两个标签之间输入下列代码:

<h1><a href=”<?php bloginfo(’url’); ?>” title=”<?php bloginfo(’name’); ?>”><?php bloginfo(’name’); ?></a></h1>
<p><?php bloginfo(’description’); ?></p>

这里用到了 WP 内置的 bloginfo 函数来生成内容,其中:

bloginfo(’url’)返回网站主页链接;
bloginfo(’name’)返回网站标题;
bloginfo(’description’)返回网站描述。
保存 index.php 文件,然后在浏览器中按 F5 刷新一下页面,看能看到什么?再通过“查看源文件”,核对一下由 WP 的 bloginfo() 函数生成的相关信息。

(二).构建content

在 <div id=”content”></div> 中,我们要通过循环显示博文,包括每个博文的标题、作者、发表日期以及其他相关信息。并且,可以分页显示博文(取决于 WP 后台的设置)。
首先,在 <div id=”content”> 与 </div> 之间输入下列代码:

<?php while (have_posts()) : the_post(); ?> <div class=”post” id=”post-<?php the_ID() ?>”>
<!– 博文标题及链接 –>
<h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”>
<?php the_title(); ?></a></h2>
<!– 发表日期 –>
<div class=”post-date”>
<span class=”post-month”><?php the_time(’M’) ?></span>
<span class=”post-day”><?php the_time(’d’) ?></span>
</div>
<!– 作者 –>
<span class=”post-author”><?php _e(’Author’); ?>:<?php the_author(’, ‘) ?></span>
<!– 类别 –>
<span class=”post-cat”><?php _e(’Categories’); ?>:<?php the_category(’, ‘) ?></span>
<!– 注释 –>
<span class=”post-comments”>
<?php comments_popup_link(’No Comments ?’, ‘1 Comment ?’, ‘% Comments ?’); ?></span>
<!– 内容 –>
<div class=”entry”>
<?php the_content(’更多内容 ?’); ?>
</div>
<!– 其他元(Meta)数据 –>
<div class=”post-meta”>
<?php edit_post_link(’编辑’,’ | ‘,”); ?>
</div> </div>
<?php endwhile; ?><div class=”navigation”>
<span class=”previous-entries”><?php next_posts_link(’前一篇’) ?></span> <span class=”next-entries”><?php previous_posts_link(’后一篇’) ?></span>
</div>
<?php else : ?>
<div class=”post”>
<h2><?php _e(’Not Found’); ?></h2>
</div><?php endif; ?>

看似复杂,其实不然。首先:

<?php while (have_posts()) : the_post(); ?>
<?php endwhile; ?>

这两行,是 WP 中的 while 循环。其中,while 语句通过测试 have_posts() 决定是否调用 the_post() 函数。如果测试 have_posts() 返回 true,则调用 the_post() 函数,初始化与博文相关的内置变量。
在 while 循环内部,首先要注意通过 div、h2、span 这三个元素定义的嵌套语义结构,以及相应元素的 class 和 id 属性(其中只为 class 为 post 的 div 元素定义了一个 id 属性--post-<?php the_ID() ?>)。这是将来使用 CSS 控制外观的关键所在。在这个 div 元素中,为显示博文的相关信息,分别调用了以下 WP 函数:

the_ID():返回博文 ID;
the_permalink():返回博文固定链接 URL;
the_title():返回博文标题;
the_time(’M’):返回发表日期中的月份;
the_time(’d’):返回发表日期中的天;
the_author():返回博文作者;
the_category():返回博文的类别;
the_content():返回博文的内容,其中的参数表示用于“更多内容”的链接文本;
以上函数都是以 the_ 开头的,加上后面的函数名不仅颇有自解释的味道,而且令人联想到 this 关键字。此外
_e() 函数是一个包装函数,这个函数主要用于语言的转换,如果调用该函数并传递标准的 WP 术语,如:Author 或 Categories,则返回你相应语言包中的译文,在中文包中分别是“作者”和“类别”。当然,不用也可。但会失去一些适应性。
还有,omments_popup_link() 和 edit_post_link() 两个函数,分别显示注释和编辑链接,这里不多说了。
另外,在 <?php endwhile; ?> 后面显示了分页导航链接,调用的函数分别是:next_posts_link() 和 previous_posts_link()。此时,如果你的博文总数小于 WP 后台设置的最多显示数目,比如:你在后台设置最多显示 5 篇,而你有 10 篇博文,就会分页显示;否则,如果你的博文少于或等于 5 篇则看不到分页导航链接。
最后,不要丢下 <?php else : ?> 语句后面的内容:

<div class=”post”>
<h2><?php _e(’Not Found’); ?></h2>
</div>

显然,这是一个错误提示信息。

(三).构建sidebar

sidebar 的内容当然要在 <div id=”sidebar”></div> 元素中构建了。sidebar,中文叫侧边栏,其中可以包含很多内容。比如:分类、页面、链接、日历等等导航及相关信息。
在 WP 中,sidebar 中的内容都以无序(ul)或有序(ol)列表的形式输出。因此,需要在 <div id=”sidebar”></div> 中输入以下标记:

<ul>
<?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
<li id=”search”>
<?php include(TEMPLATEPATH .’/searchform.php’); ?>
</li> <li id=”calendar”>
<h2><?php _e(’Calendar’); ?></h2>
<?php get_calendar(); ?>
</li> <?php wp_list_pages(’title_li=<h2>页面</h2>’); ?> <li class=”catnav”>
<h2><?php _e(’Categories’); ?></h2>
<ul>
<?php wp_list_cats(’sort_column=name&optioncount=1&hierarchical=0′); ?>
</ul>
</li>
<li class=”archivesnav”>
<h2><?php _e(’Archives’); ?></h2>
<ul>
<?php wp_get_archives(’type=monthly’); ?>
</ul>
</li>
<li class=”blogrollnav”>
<h2><?php _e(’Links’); ?></h2>
<ul>
<?php get_links(’-1′, ‘<li>’, ‘</li>’, ‘<br />’, FALSE, ‘id’, FALSE, FALSE, -1, FALSE); ?>
</ul>
</li>
<li class=”meta”>
<h2><?php _e(’Meta’); ?></h2>
<ul><?php wp_register(); ?><li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?></ul>
</li>
<?php endif ?>
</ul> 以上代码从第三行开始,分别通过包含 searchform.php 显示搜索表单;

调用 get_calendar() 函数显示日历;
调用 wp_list_pages() 函数显示页面导航;
调用 wp_list_cats() 函数显示分类导航;
调用 wp_get_archives() 函数显示存档导航;
调用 get_links() 函数显示链接导航。
在构建侧边栏时,要为生成搜索框新建一个 searchform.php 文件,其内容如下:

<form method=”get” id=”searchform” action=”<?php bloginfo(’home’); ?>/”>
<div>
<input type=”text” value=”<?php echo wp_specialchars($s, 1); ?>” name=”s” id=”s” size=”15″ /><br />
<input type=”submit” id=”searchsubmit” value=”Search” />
</div>
</form>

将其保存在 myTheme 文件夹中,通过 include 语句包含进来就可以了。注意,常量 TEMPLATEPATH 中保存的是模板路径。
最后,说明一下以上代码第二行和倒数第二行。显然这是一个 if 语句块。那这个 if 语句块包含 sidebar 是何用意呢?这是部件化侧边栏的需要,就是让 sidebar 适合 Widget 插件(WP 2.0 后内置了 Widget,所以不用再安装了)。如果要使用 Widget 插件,必须对 sidebar 进行部件化。这样,在 WP 后台通过 Widget 插件你就可以使用拖动来方便地定义侧边栏的组件了。部件化侧边栏,除了在 ul 元素内侧放入这个 if 语句之外,还必须在 myTheme 文件夹中建立一个文件 functions.php,其内容如下:

<?php
if ( function_exists(’register_sidebar’) )
register_sidebar(array(
‘before_widget’ => ‘<li id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</li>’,
‘before_title’ => ‘<h2 class=”sidebartitle”>’,
‘after_title’ => ‘</h2>’,
));
?>

(四).构件footer

footer 中一般都一些版权信息和不太重要的链接。所以可以在 <div id=”footer”></div> 元素中简单地放入下列代码:

<p>Copyright ? 2007 <?php bloginfo(’name’); ?></p>

至此,核心 index.php 文件就算是大功告成了!

接下来,是拆分 index.php 和基于 index.php 派生子模板文件。

在 myTheme 文件夹中新建 header.php、sidebar.php 和 footer.php 三个文件。把 index.php 中的 <div id=”header”></div>、<div id=”sidebar”></div> 和 <div id=”footer”></div> 三个结构化元素及其内容分别转移(剪切)到这三个新文件中。然后,在 <div id=”header”></div> 原来的位置处输入代码:

<?php get_header();?>

在 <div id=”sidebar”></div> 原来的位置处输入代码:

<?php get_sidebar();?>

在 <div id=”footer”></div> 原来的位置处输入代码:

<?php get_footer();?>

前面说过,这三个 get 函数是 WP 专门为包含结构化的文件定义的。现在你的 index.php 文件应该如下所示:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“><head profile=”http://gmpg.org/xfn/11“>
<meta http-equiv=”Content-Type” content=”<?php bloginfo(’html_type’); ?>; charset=<?php bloginfo(’charset’); ?>” /><title><?php bloginfo(’name’); ?> <?php if ( is_single() ) { ?> ? Blog Archive <?php } ?> <?php wp_title(); ?></title><meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” /> <!– leave this for stats –><link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_url’); ?>” type=”text/css” media=”all” />
<link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_directory’); ?>/print.css” type=”text/css” media=”print” />
<link rel=”alternate” type=”application/rss+xml” title=”<?php bloginfo(’name’); ?> RSS Feed” href=”<?php bloginfo(’rss2_url’); ?>” />
<link rel=”pingback” href=”<?php bloginfo(’pingback_url’); ?>” /><?php wp_head(); ?>
</head>
<body>
<div id=”page”><?php get_header(); ?> <!– content –>
<div id=”content”>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?> <div class=”post” id=”post-<?php the_ID() ?>”>
<!– 博文标题及链接 –>
<h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”>
<?php the_title(); ?></a></h2>
<!– 发表日期 –>
<div class=”post-date”>
<span class=”post-month”><?php the_time(’M’) ?></span>
<span class=”post-day”><?php the_time(’d’) ?></span>
</div>
<!– 作者 –>
<span class=”post-author”><?php _e(’Author’); ?>:<?php the_author(’, ‘) ?></span>
<!– 类别 –>
<span class=”post-cat”><?php _e(’Categories’); ?>:<?php the_category(’, ‘) ?></span>
<!– 注释 –>
<span class=”post-comments”>
<?php comments_popup_link(’No Comments ?’, ‘1 Comment ?’, ‘% Comments ?’); ?></span>
<!– 内容 –>
<div class=”entry”>
<?php the_content(’更多内容 ?’); ?>
</div>
<!– 其他元(Meta)数据 –>
<div class=”post-meta”>
<?php edit_post_link(’编辑’,’ | ‘,”); ?>
</div> </div>
<?php endwhile; ?> <div class=”navigation”>
<span class=”previous-entries”><?php next_posts_link(’前一篇’) ?></span> <span class=”next-entries”><?php previous_posts_link(’后一篇’) ?></span>
</div>
<?php else : ?>
<div class=”post”>
<h2><?php _e(’Not Found’); ?></h2>
</div><?php endif; ?>
</div><!– end content –><?php get_sidebar(); ?> <?php get_footer(); ?></div>
</body>
</html>

然后,是派生子模板文件。把这个“模块化”的 index.php 文件另存为 single.php、page.php、archive.php、 search.php 和 category.php。当然,都保存在 myTheme 文件夹中。这样,WP 在显示页面时就会调用相应的页面文件了。比如,显示博文详细内容时,会调用 single.php;而显示页面内容时,则调用 page.php。
最后,要做的工作就是自定义这些子模板文件。

文章我在网络上找到的,已经找不到原文的作者了,不知道是谁的,知道的给我留言。

为wordpress侧栏添加自定义小工具widget

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

  1. wp_register_sidebar_widget()

 

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

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

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

热门文章代码:

  1. <?php $popular = new WP_Query(‘orderby=comment_count&posts_per_page=10’); ?>
  2. <?php while ($popular->have_posts()) : $popular->the_post(); ?>
  3. <li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></li>
  4. <?php endwhile; ?>

文章分类代码:

  1. <ul><?php wp_list_cats(“sort_column=name&hierarchical=0&exclude=”); ?></ul>

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

  1. if( function_exists( ‘register_sidebar_widget’ ) ) {
  2.     register_sidebar_widget(‘热门文章’,’mb_hot’);
  3.     register_sidebar_widget(‘文章分类’,’mb_categories’);
  4. }

及:

  1. function mb_mb_hot() { include(TEMPLATEPATH . ‘/mb_hot.php’); }
  2. function mb_categories() { include(TEMPLATEPATH . ‘/categories.php’); }

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

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

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

相关参考:

Function Reference/register sidebar widget

Widgets API

wordpress多语言国际化翻译插件

如果你想让世界各地的人都能看你的博客,有一个好办法,就是安装wordpress的global translator语言翻译插件。

wordpress语言翻译插件(global translator)是一个免费自由和开放源码的WordPress的插件,它可以把您博客上的内容翻译成多达34种不同的语言,支持语言如下:
意大利,韩国,中国(简体),葡萄牙文,英文,德文,法文,西班牙文,日文,阿拉伯文,俄文,希腊,荷兰,保加利亚,捷克,克罗地亚,丹麦,芬兰,印度, 波兰,罗马尼亚,瑞典,挪威,加泰罗尼亚语,菲律宾文,希伯来文,印尼,拉脱维亚语,立陶宛语,塞尔维亚语,斯洛伐克语,斯洛文尼亚语,乌克兰语,越南语。

wordpress语言翻译插件(global translator)提供的强大功能:

(1)wordpress语言翻译插件提供了四种在线翻译器任你选译:分别为:
google 在线翻译, Babel Fish(巴贝尔鱼), Promt, FreeTranslations.com

(2)搜索引擎优化:wordpress语言翻译插件将自动为你的URI链接加上不同的代码。

例如,中文版的www.domain.com / mycategory / mypost将自动转变www.domain.com /cn/ mycategory / mypost

(3)高速缓存系统:新的快速,智能,优化,自我清洁和内置的缓存系统。急剧减少的风险,避免您的网站的IP被翻译引擎封锁。

(4)完全可配置的布局:你可以根据您的网站的布局选择TABLE格式或DIV+CSS格式,以及每行可以显示多少个国家的国旗。

(5) 没有修改数据库:翻译插件并不创建或修改任何数据库。

wordpress语言翻译插件的安装设置:

1、解压后上传文件夹“global-translator”到网站的“ wp-content/plugins ”

2、登录到WordPress的后台管理,选择“插件”从菜单中找到“global translator” 插件,然后点击“启用”按钮

3、选择“设置“,找到“global translator” 进入后可以设置翻译器种类和显示的国旗数,然后保存即可。

4、配置显示位置 (将插件显示于主页中)
(1)如果您的博客主题支持Widgets,则只要进入Widgets中,将global translator 插件拖入你想显示的地方即可。
(2)如果你博客的主题不支持Widgets,则需要要将以下的php代码加入到博客合适的位置(通常进入主题编辑器加入到sidebar.php中)

<?php if(function_exists(”gltr_build_flags_bar”)) { gltr_build_flags_bar(); } ?>

现在进入你的博客,你会看到很多小小的国旗,点击国旗后会把博客内容译成相应的语言。酷剑博客的右侧,你会看到很多国旗。

更多的资料可参考: official FAQ

下载最新版“global-translator”
Latest version : Download Version 1.3.2

Pie Register wordpress插件,修改注册页面

介绍:加强注册页面。 添加自定义徽标,密码字段,邀请码,免责声明,CAPTCHA验证,电子邮件验证,用户审核

加强注册页面,并收取登记注册您的用户。

自定义徽标厌倦了,WordPress的标志得到所有的关注?上传您自己的自定义徽标形象和你的品牌在聚光灯下。

密码字段讨厌那些遗忘的自动生成的密码? .允许用户在注册过程中设置自己喜欢的密码。 包括甜的密码强度测试仪,从个人资料页。

邀请码是您的博客超级独家? 如果是的话,你最好需要一个邀请加入您的高端船员。安装多个代码和跟踪您的新用户可选的邀请跟踪的Dashboard widget。

免责声明关于法律责任的担心?设定一个一般的免责声明,许可协议和/或新用户的隐私政策,同意在注册过程中。

验证码验证讨厌垃圾邮件吗?如果您不希望那些与他们自己的密码注册的防垃圾邮件程序,你需要一定的保障。 包括真正的人类的一个简单的captcha很容易阅读以及能力添加的reCAPTCHA。

电子邮件验证讨厌假的电子邮件? 确保您的用户不登记无效的电子邮件帐户,迫使他们按一下他们的注册电子邮件发送一个验证链接,。这台有一个随机生成的字符串(是这样的:“unverified__h439herld3”),因此它们不能登录的用户名,直到他们碰到的验证环节落实到位,将他们的真实用户名,让他们每照常登录。未经核实的注册有一个明确的宽限期,会自动删除后在指定时间内的一个未经证实的帐户,所以你不堵塞这些fakies。(根据用户管理>未验证的用户)

用户审核需要绝对的控制权吗?退房每一个新的用户,自己和手挑谁可以留,谁得到的引导,才能够登录到您的网站。 (Manage under Users > Unverified Users) (根据用户管理>未验证的用户)

资料栏目想了解更多更快完成?有新用户填写整个轮廓或只是你需要在注册过程中的所有的位,你甚至可以使他们的需要。

用户定义的字段没有足够的信息?你自己定义的字段添加到注册页面,用户填写。.它还增加了新的领域的个人资料页以及当前用户可以添加自己的信息,并根据需要更新。 !现在包括abililty添加日期,选择,复选框,单选和textarea领域!

重复的电子邮件注册有多个用户使用相同的电子邮件地址? 很容易地解决这个prediciment没有强迫他们签署不需要的电子邮件帐户。 也有用为管理员创建一个电子邮件地址的另一个帐户。

厌倦了旧的电子邮件相同的新的寄存器,当有人的定制管理及用户注册邮箱? 香料用自己的从/回复地址,自定义主题和自定义整个消息! You can even disable those tiresome Admin notifications for new registrations.你甚至可以为新注册的禁用那些烦人的管理通知。

入会费要收取登记注册用户?如果您想为费收取登记注册,注册饼内置在PayPal一体化,现在很容易收取登记注册的成员。 Pie-Register seemsly integrates with Paypal.饼注册seemsly集成与贝宝。

饼寄存器是寄存器加插件的一个分支,但是很多事情都改变了自。

插件官网

插件下载

中文语言包下载