在 WordPress 博客系统中,使用标签组织归类文章是极为有效的方式。为了给予用户强大的视觉冲击力,强调标签的重要性是 WordPress 主题设计的一个基本要素。这个自我感觉还不错的效果之前也有读者询问过,现在做个 WordPress 随机彩色标签的实现方法的分享。
按照笨猫首页现在的实现方式,随机彩色其实很容易。先来按照常理输出标签列表的代码:
<?php wp_tag_cloud(); ?>
如果为标签添加背景色,就需要为每个标签元素设置 CSS 类来定义其样式。
首先,使用获取标签列表对象:
$tags = get_the_tags();
然后,使用 foreach 函数遍历标签列表,循环输出标签名称和链接地址等信息,代码如下:
foreach($tags as $tag) echo '<a href="'.get_tag_link($tag -> term_id).'">'.$tag -> name.'</a>'; ?>
完整的随机背景颜色代码为:
<?php $tags = get_the_tags(); foreach($tags as $tag) echo '
<li><a href="'.get_tag_link($tag -> term_id).'">'.$tag -> name.'</a></li>'; ?>
注意到其中的 rand(1, 5) 函数产生数字 1~5,则每一个标签的标记可以使用诸如 tag-1 的样式。
最后通过 CSS 定义 tag-1 至 tag-5 五个不同背景颜色的样式即可:
.tag-1{background:red;}
.tag-2{background:blue;}
...
.tag-5{background:green;}
当然,如果你不想输出太多颜色限制,还有一个输出随机背景色的方法:
<?php echo '<li style="background:rgb(255,0,0);">笨猫 - www.benmao.com</li>'; ?>
实现的方法其实是和第一种一致的,有兴趣可以尝试第二种。
以前实现WordPress不同页面显示不同侧边栏内容,逅客使用的是WordPress Widget Logic插件,推荐使用WordPress Display Widgets插件。用起来很方便,所以在这里做个启用记录。
WordPress Display Widgets插件简单介绍:
WordPress 2.8或更高版本下都可正常使用,使用这个插件可以通过给每个widget添加复选框来控制它是否在每个页面显示或隐藏,避免创建多个侧边栏和重复的widget。
Display Widgets插件下载解压后上传到/wp-content/plugins目录里,登录网站后台在已安装插件中启用,这个插件,不用修改代码,轻松实现不同页面不同侧边栏内容的效果。默认状态下,“Hide on Checked”(隐藏选中项)选中,所有复选框留空,即所有当前widget在所有页面都显示。
下拉选单中控制在选中页面隐藏还是显示。
Show/Hide Widget 显示/隐藏Widget
Show on checked 选中项显示。这个widget会在勾选页面显示。
Hide on checked 勾选项隐藏。 这个widget会在勾选页面隐藏。
下半部分则是选择具体的页面,前面的就不说了,都是你的各个“页面”名称。不过在这个列表的末尾有两项:
Pages:单独页面
Archives Page 存档页面
Categories:文章类型
Single Post Page 单篇日志页面
Miscellaneous:功能页面
还有rchives Page Blog Page 404 Page。
就这么些了,更多资料请查看百度Google。
度博主们最担心的是什么?估计都会认为是那些拔网线、封80的人吧,一个按钮下去,千千万万Blog倒闭,还真是“河蟹”社会啊!有的博主辛辛苦苦写了一百篇日志,主机一挂,如果遇到不负责任的IDC,那么自己的心血不都白费了?所以经常备份是我们必须养成的好习惯。
WordPress不支持直接备份你的网站功能,备份需要依赖插件来实现。比较好的插件有WordPress DBManager及WordPress Database Backup。我使用的是后者,它具有定时备份,备份通过SMTP发送到指定邮箱的功能,有点遗憾的是,现在不具备后台恢复功能。当然你的主机可能不支持SMTP,那就再加一个WordPress Mail SMTP吧。
1、首先我们下载WordPress Database Backup,下载地址http://wordpress.org/extend/plugins/wp-db-backup/
2、然后上传到博客空间里的 /wp-content/plugins/ 文件夹里,后台激活。
3、我们点击侧边栏里的“工具”→“备份”打开备份设置页面。
4、然后我们就看到了数据表、备份选项和定时备份3个选项,由于我们主要是用这个插件来实现定时备份,所以我们就直接翻到页面最后的“定时备份”。
5、我们在“定时任务”里选择备份的频率,这个主要是根据自己的文章写作频率来定,我建议大家选择一周,要不然每天都会收到一封邮件,会很烦。
6、最后点击“Schedule Backup”更新信息,设定完毕后,你每周就会受到备份邮件,博客的数据库会以附件方式发送过来。
<?php wp_list_pages(’depth=1&title_li=’); ?>
这个语句的意思是调用wordpress中的页面,也就你是在后台-撰写的所有页面(page)将会被按顺序显示。
Tips:如果由于自己的页面比较多或者导航栏空间有限,不想列出所有的页面,那么可以通过以下方式实现:
在后台-Manage(管理)-Pages(页面) 中查看页面,可以看到每个页面都有一个ID:
然后把上面的调用语句改为以下:
<?php wp_list_pages(’title_li=&depth=1&exclude=6,4′); ?>
这样可以展示除了ID为4 和6的所有page.
<?php wp_list_pages(’title_li=&depth=1&include=6,4′); ?>
这样可以实现只展示ID为4和6的page.
实现此功能的核心问题是,在主循环中能根据分类自动调用不同图标。而利用 get_the_category() 函数获取分类名称的代码为:
1
| <?php foreach((get_the_category()) as $cat){echo $cat->category_nicename;}?> |
这样就得到了因分类而异的代码。基于此,只需在模板中嵌入图标调用路径即可:
1
| <img src="<?php bloginfo('template_url');?>/image/icon_<?php foreach((get_the_category()) as $cat){echo $cat->category_nicename;}?>.gif" /> |
当然,需要为每个分类定制不同图标,并存为 “icon_分类名称.gif” 的形式至指定目录。
为分类图标加上链接和描述文字后,完整代码如下:
1
2
3
| <a href="<?php bloginfo('url'); ?>/category/<?php foreach((get_the_category()) as $cat){echo $cat->category_nicename;}?>" title="<?php foreach((get_the_category()) as $cat){echo $cat->cat_name;}?>">
<img src="<?php bloginfo('template_url');?>/image/icon_<?php foreach((get_the_category()) as $cat){echo $cat->category_nicename;}?>.gif" />
</a> |
如果嫌修改代码过于麻烦,也可以使用 Category Icons 插件,该插件可以为分类指定不同图标,提供了详细的后台设置面板,操作更为简便,容易上手。
WordPress系统使用时间长了,数据库中的冗余数据就会很多,定期优化和清理Wordpress的数据库,可以保证Wordpress能够快速工作。
首先,停用一些无用的插件,将WordPress系统表之外的数据表都删除,只保留wp_posts, wp_comments, wp_terms, wp_term_relationships, wp_term_taxonomy 等系统数据表。
其次,打开phpMyadmin,通过SQL语句进行冗余数据删除操作。删除前记得先备份一下。
删除脚本是:
DELETE FROM wp_posts WHERE post_type = ‘revision’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;
最后,在phpMyAdmin中,选中所有表,点“优化表”。
经过这一番优化操作,就可以将WordPress数据库中的冗余数据删除,优化了数据库的性能。
以上操作,需要用户懂一些SQL语句,不要进行误操作,如果用户SQL比较熟的话,还可以看看这篇文章
阅读全文…
一直在更新Wordpress。没想到跟随潮流也被算计,昨天测试时还没事。今天就不能登录了,随即自动升级,失败。手动升级,成功。
1. 立即升级到2.84版本;手动更新直接覆盖原文件
2. 修改wp-login.php文件,将190行的代码,如下:
if ( empty( $key ) )
return new WP_Error(‘invalid_key’, __(‘Invalid key’));
修改为:
if ( empty( $key ) || is_array( $key ) )
return new WP_Error(‘invalid_key’, __(‘Invalid key’));