wordpress不同分类或不同页面使用不同模板
怎么才能在wordpress不同分类下调用不同模板?
怎么才能在wordpress不同页面下调用不同模板?
找了很久也没找到原因,以前都是制作一个page-name.php的页面,不过很不方便。
今天google了一下,在一个国外的网站上发现,原来还有这么方便的办法。
就是:
page-id.php category-id.php
或者
page-slug.php category-slug.php
怎么才能在wordpress不同分类下调用不同模板?
怎么才能在wordpress不同页面下调用不同模板?
找了很久也没找到原因,以前都是制作一个page-name.php的页面,不过很不方便。
今天google了一下,在一个国外的网站上发现,原来还有这么方便的办法。
就是:
page-id.php category-id.php
或者
page-slug.php category-slug.php
首先需要你的网站空间服务商支持自定义错误页,然后创建一个utu-8格式的404.php文件,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php header("HTTP/1.1 200 OK"); $ori_qs = strtolower($_SERVER['QUERY_STRING']); $pattern = '/[^;]+;[^:]+:\/\/[^\/]+(\/[^\?]*)(?:\?(.*))?/i'; preg_match($pattern, $ori_qs, $matches); $_SERVER['PATH_INFO'] = $matches[1] . '?' . $matches[2]; $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO']; $query_args = explode('&', $matches[2]); unset($_GET); foreach ($query_args as $arg) { $the_arg = explode('=', $arg); $_GET[$the_arg[0]] = $the_arg[1]; } include('index.php'); ?> |
创建好之后上传至网站根目录下,然后自定义错误页为404.php页。这样就可以去后台-设置-固定链接设置而实现静态化了。但是这个方法会导致中文标签和一些相关地方的tags无法找到,解决办法是超找wp-include/classes.php中如下代码:
1 2 3 4 5 6 7 | if ( isset($_SERVER['PATH_INFO']) ) $pathinfo = $_SERVER['PATH_INFO']; else $pathinfo = ''; $pathinfo_array = explode('?', $pathinfo); $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); $req_uri = $_SERVER['REQUEST_URI']; |
修改为:
1 2 3 4 5 6 7 | if ( isset($_SERVER['PATH_INFO']) ) $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK'); else $pathinfo = ”; $pathinfo_array = explode('?', $pathinfo); $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK'); |
WordPress自带了一个自动ping搜索引擎服务的功能,当您发表一篇新文章时,WordPress 将会自动ping你列出的搜索引擎地址。下面是赵健的博客收集的一些搜索引擎ping地址,其中包括了:谷歌、雅虎、奇虎、百度、鲜果、抓虾等知名网站
http://rpc.pingomatic.com/
http://api.moreover.com/ping
http://api.my.yahoo.com/rss/ping
http://blogsearch.google.com/ping/RPC2
http://www.xianguo.com/xmlrpc/ping.php
http://www.zhuaxia.com/rpc/server.php
http://blog.youdao.com/ping/RPC2
http://www.blogdigger.com/RPC2
http://www.feedsky.com/api/RPC2
http://ping.blog.qikoo.com/rpc2.php
http://blog.iask.com/RPC2
http://blogsearch.google.com/ping/rpc2
http://api.my.yahoo.com/rpc2
http://ping.feedburner.com
http://rpc.pingomatic.com/rpc2
http://ping.blog.qikoo.com/rpc2.php
http://www.zhuaxia.com/rpc/server.php
http://rpc.technorati.com/rpc/ping
http://www.feedsky.com/api/rpc2
http://www.xianguo.com/xmlrpc/ping.php
http://www.bloglines.com/ping
http://blog.yodao.com/ping/rpc2
http://blog.iask.com/ping.php
http://services.newsgator.com/ngws/xmlrpcping.aspx
http://ping.baidu.com/ping/RPC2
可以看出这个错误页面不是 WordPress 的, 而是空间提供商定制的.
一切正常的,只是因为之前升级了这个插件 wp-super-cache. 才导致这个错误。
Google 一下, 发现好多人讨论这个 500 错误与 wp-super-cache 有关
解决办法:在后台设置里, 把 WP Super Cache Status 改为 HALF ON.
也就是禁用 Super Cache, 只启用基本的 Wp Cache.
近期评论