Wordpress机能备忘

每次写点小插件都会想不起那些繁杂的filters到底叫些什么,此帖用于不定期记录以备忘。


 

添加URL重写规则

经常性需求。比如需要添加一个/submit而又不想新建页面,又或想增强文章列表以使得其能按某几种特定规则排序。添加Rewrite规则可以有两种形式:

  1. 在后台设置固定链接的过程中添加。此种方式通过一次设置把处理过的新规则写入数据库。
  2. 在每个访问请求时添加,好处是写代码时便于测试。

前一种在一些常用插件中会有存在。后一种比较少见,牵涉到的filter是transient_rewrite_rules,变量$rules。相关的文件及函数列表:

  1. /wp-includes/rewrite.php,WP_Rewrite::wp_rewrite_rules()
  2. /wp-includes/functions.php,get_transient()

以上filter在2.9.2版中已移除。

添加Query Vars

经常性需求,与上一段关系密切。filter是query_vars,变量$vars。

列印所有数据库查询

先作一个常量声明,$wpdb就会把所有的查询记录下来。


define('SAVEQUERIES',true);

 

在页面底部输出即可

global $wpdb;
printf('<pre>%s</pre>',print_r($wpdb->queries,true));

 

可以先在页面底部输出查询数,如查询数过高,再来列印详细找出问题所在。

printf('%d queries. %s seconds.', get_num_queries(), timer_stop(0, 3));

 

更换域名或网址

先确认需要替换的行
mysql> select option_value from wp_options where option_value like 'http://%';

mysql> update wp_options set option_value = 'http://newaddress' where option_value like 'http://olddomain%'

Related posts:

  1. Wordpress主题berita几处修改记录 前阵子看到这篇《使用Wordpress定制企业网站》介绍的berita这个主题。界面我很喜欢,以前也确曾帮朋友用wordpress做过企业网站,于是就去下载了官方原版来用。 当然世事无完美,更没有什么主题能够完全适应各种需求。使用中发现了一些小问题,或者仅仅是不符合个人需求之处,做了一些改动,特此记录。 选择空分类作为博客页 设置面板里Blog Section Settings->Pick Category for Your Blog...
Twitter Digg Delicious Stumbleupon Technorati Facebook

No comments yet... Be the first to leave a reply!