1. David Wu首页
  2. WordPress
  3. WordPress安装教程

WordPress小工具的高级用法-WordPress开发教程

WordPress的小工具(widget)和插件一样,是帮助WordPress扩展各项功能的有力助手之一。然而大多数人看到widget时,首先想到的就是“重新排列侧边栏各小区块的工具”,不需要用到

WordPress的小工具(widget)和插件一样,是帮助WordPress扩展各项功能的有力助手之一。

然而大多数人看到widget时,首先想到的就是“重新排列侧边栏各小区块的工具”,不需要用到任何代码。 这种想法没错,不过这只是widget用法的冰山一角罢了。

1. Widget Logic插件

有时候你可能想让不同的页面上显示不同的widget。Widget Logic插件可以帮你做到。

插件安装完毕后,你所用的widget的选项框里会多出一个Widget Logic的输入框。 你可以在这个输入框里填写各种WordPress条件标签,来决定这个widget会出现在哪些页面上。

上面的图表示,Calendar(日历)小工具只出现在名为“Evil”的页面上。 你可以使用多个条件标签,使widget出现在多个页面。

示例

使当前widget只出现在主页上:is_home()

使当前widget只出现在单篇文章页上:is_single()

使当前widget只出现在页面(page)上:is_page()

使当前widget只出现在存档页面(如分类页、标签页):is_archive()

使当前widget只出现在搜索结果页面上:is_search()

使当前widget出现在主页外的所有页面上:!is_home()

使当前widget出现在“广告”或“联系方式”页面上:is_page(‘advertise’) || is_page(‘contact’)

2. 让博客各版块都支持widget

支持widget的主题向来比较受青睐, 不过用户们已经不满足于主题上仅有的widget区域。 如果能让页面上的所有版块都支持widget,那该是多么美妙的一件事。

关于多区域widget,我们之前发布过一篇简单的教程。

3. Query Posts工具

Query_posts模板标签是一个强大的WordPress函数,你可以在loop中用它来调用日志和页面。

如果你不了解PHP代码但又想利用query_posts标签的功能,可以使用Query Posts工具来调用WordPress日志和页面,并且可以以多种方式显示这些日志。

安装并启用这个小工具后,你会在后台“小工具”菜单里发现一个叫做“Query Posts”的新选项。

Query Posts能做什么:

按照标签、分类、作者、时间、日期或自定义值显示日志

显示用户规定数字的日志

根据发布时间、标题或ID为日志排序(可升序,也可降序)

以全文、摘要或列表方式显示日志

显示WordPress的页面

4. 404模板

很多WordPress主题(甚至包括默认主题Default)的404模板文件都很平淡,不能提供有帮助性的信息。 例如,当你打开使用这些主题的WordPress网站的404页面时,通常只会看到“Error 404 – Not Found”这样没有人情味的字眼。

“最近文章”、“分类目录”以及“存档”等小工具都可以用到404页面上。

首先需要在主题文件里注册一个“404”widget区域。 打开主题的functions.php文件,加入以下代码:

register_sidebar( array(
'name' => '404',
'id' => '404',
'before_widget' => '
',
'after_widget' => '
',
'before_title' => '
',
'after_title' => '
'
) );
?>

这样一个widget就注册成功了,然后你需要编辑主题的404.php文件,在文件里加入下面的代码:

就这么简单。 接下来你就可以在“404”小工具里加入任何widget了。之后每当有人访问你的404页面时,就会看到这些widget显示的内容(比如搜索框、最新发表的文章、分类目录列表或是Query Post列表等)。

5. 在两篇文章之间插入广告

你可以通过编辑主题在一定数量文章之间插入widget。 有些人就利用这种方法,在文章之间插入了广告。

和在404模板里添加widget一样,首先仍然是在主题里注册一个widget区域。 打开function.php文件,插入下面的代码:

register_sidebar( array(
'name' => 'index-insert',
'id' => 'index-insert',
'before_widget' => '
',
'after_widget' => '
',
'before_title' => '
',
'after_title' => '
'
) );
?>

要在索引页的文章之间插入广告,首先要打开主题的index.php文件,在结尾的“endwhile”附近插入下面的代码:

以上代码会在第二篇文章后插入“indx-insert”工具。你可以根据自己的需要,将“$count==2”中的数字2改成其它数字。

如果你希望在存档页(分类页、标签页等)的各篇文章之间插入广告,那么你还需要把上面的代码放入archive.php、category.php、tag.php文件中。利用Widget Logic插件和条件标签,你还可以在不同页面上显示不同类型的广告。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/121663

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

邮箱地址不会被公开。 必填项已用*标注