起因
今天准备给碎碎念适配移动端,原先想到用插件,百度了好一会儿没有结果,于是看到一篇文章,便开始在博客主题上做手脚开发,后来研究了一下wordpress function 文件,发现原来,也没有多么困难,下面把思路记录下来:
首先我们需要找到自己主题的function.php文件,在里面新增一个方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/*自定义页面*/ function loadCustomTemplate($template) { global $wp_query; if(!file_exists($template)){ return false; //loadCustomTemplate(TEMPLATEPATH.'/custom/'."/defalut.php"); }; $wp_query->is_page = true; $wp_query->is_single = false; $wp_query->is_home = false; $wp_query->comments = false; if ($wp_query->is_404) { unset($wp_query->query["error"]); $wp_query->query_vars["error"]=""; $wp_query->is_404=false; } header("HTTP/1.1 200 OK"); include($template); exit; } /*载入自定义模板*/ function templateRedirect() { $basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']); loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php"); } add_action('template_redirect', 'templateRedirect'); |
这样的话,我们在主题目录下新建一个custom目录,里面存放模板文件,
然后访问 域名/关键词,
例如我要访问: http://blog.he29.com/xixi
方法就会在custom目录下面寻找xixi.php文件,
如果找不到此文件,就会默认载入 defalut.php文件!
这样的话,我们的需求基本已经达成了,然后在载入的模板文件里继续判断是移动端还是pc端,实现不同的适配~
具体可以参考wordpress wp_is_mobile()方法!