【问题标题】:Load specific page instead of redirect, in case of 404 error in wordpress加载特定页面而不是重定向,以防 wordpress 出现 404 错误
【发布时间】:2022-01-12 11:38:05
【问题描述】:

通常每当发生404错误时,都会显示模板中指定的404.php文件或页面。

例如

页面:产品 | page_id = 20

function custom_404(){
    if (is_404()) {
        global $wp_query;
        $wp_query->is_404 = false;
        status_header(200);
        header("HTTP/1.1 200 OK");

        $wp_query = new WP_Query(['page_id' => 20]);
        
        get_header();
        
        //method1
        the_content();
        
        //method2
        echo do_shortcode( ' [my_shortcode] ' );
        
        
        get_footer();
        exit;
    }
}
add_action('template_redirect', 'custom_404');

但问题是: 我的 WordPress 主题是 divi。模板未完全加载。 无需 js、css 代码即可加载页眉和页脚。

【问题讨论】:

    标签: php wordpress divi


    【解决方案1】:

    您应该尽可能尝试使用内置功能,而不是编写自己的 404 脚本。

    使用 Divi 主题设置 404 页面的最简单方法是转到管理菜单中的 Divi > Theme Builder

    然后点击Add New Template,一直滚动到底部并选择404 Page

    然后点击添加自定义正文,您可以像编辑任何其他页面一样对其进行编辑。编辑时不会显示全局页眉和全局页脚,因为您只处理页面的自定义正文。

    确保在关闭编辑器之前将更改保存在编辑器中。然后,您还需要点击 Theme Builder 页面顶部的 Save Changes 以保存主题。

    现在,任何无法解析为现有页面或帖子的 url 都应重定向到此模板。

    这里是 Divi 制作者的完整教程:https://www.elegantthemes.com/blog/divi-resources/how-to-create-a-404-page-template-with-divis-theme-builder

    【讨论】:

      猜你喜欢
      • 2010-12-06
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多