打造个性化WordPress 404页面 » 荒野无灯weblog

Keep It Simple, Stupid.

荒野无灯weblog

打造个性化WordPress 404页面

时间有限,我就没有自己花时间去制作了。
这儿找了张图,觉得还可以,就用上了。至于怎么访问我博客的404页面,这个应该不用我说了~~


下面说下两种方法。

用WP 页面模板实现404页面

这个非常简单,可以是WP系统指定的模板( 404.php ) ,也可以是自定义模板(如果还不熟悉WP自定义模板的可以参考文档:Creating_Your_Own_Page_Templates
对于较新版本的WP,404 模板法是比较合适的。
修改当前主题的404.php 文件(如果没有的话,可参考 twentyeleven模板中的404.php 文件自己做一个)。
如:


    

这里是你自己的HTML代码....

其中 get_search_form() 是显示搜索表单的,如果不需要可以去掉这一句。如果不需要WP的 header 、 sidebar 和 footer,也可以去掉。


插件法

模板法虽然简单,但是修改不太方便,因为每次更换模板都要修改这个 404.php ,不适合我这种懒人。因此我没有采用上面的方法。
插件的好处是,一劳永逸,这也是我至今在用WP的原因,很简单,它插件机制非常强大,使用起来很方便。

大致思路是:
在WP即将加载模板之前,执行我们自己定义的操作(显示我们自定义的404页面内容)。
demo 代码如下:

/**
 * @filename custom-404-page.php 
 * @encoding UTF-8 
 * @author 荒野无灯  
 * @link http://ihacklog.com 
 * @copyright Copyright (C) 2012 荒野无灯 
 * @license http://creativecommons.org/licenses/by-nc/2.5/
 * @Description 自定义404页面
 */
add_action('template_redirect','ihacklog_pkg_custom_404_page',-100);
function ihacklog_pkg_custom_404_page()
{
    if( is_404() )
    {
        /**
         * 开始发送 404 页面内容
         */
        send_nosniff_header();
        send_frame_options_header();
        status_header( 404 );
        header( 'Content-Type: text/html; charset=utf-8' );
        $tempate_file = dirname(__FILE__) . '/my-404-tempate.php';
        if( file_exists($tempate_file) )
                 {
                    require  $tempate_file;
                 }
                 else
                 {
                    echo '404 page not found.';
                 }
        die();
    }

}

my-404-tempate.php 即为个性化的 404 页面内容。

好了,收工,访问博客的404页面,可以看到这个效果了:

更多有趣的 404 页面资源:
http://www.hongkiat.com/blog/60-really-cool-and-creative-error-404-pages/
http://www.hongkiat.com/blog/49-nice-and-creative-error-404-pages/
http://coolshell.cn/articles/1826.html
http://article.yeeyan.org/view/39879/214905

Tagged in : wordpress,404页面,404

All Comments (0)
Gravatar image
No Comments