我怎样才能给这个‘维护模式’功能添加一个标题呢?

时间:2018-05-28 作者:glvr

我使用以下功能手动触发临时“维护模式”。

function maintenance_mode(){
if ( !current_user_can( \'edit_themes\' ) || !is_user_logged_in() ){
wp_die(\'<img src="/graphics/header/logo/1.png" />
<p><strong>Site temporarily offline for maintenance.</strong> </p>\' );
}}
add_action( \'get_header\', \'maintenance_mode\' );
页面标题显示为“WordPress>error”(WordPress>error),我想用一个更合适的选项来替换它。

1 个回复
最合适的回答,由SO网友:Pabamato 整理而成

您可以将标题传递给wp_die() 函数,甚至任何其他HTML内容,如标题标记:
https://codex.wordpress.org/Function_Reference/wp_die

但是如果您试图对输出的内容有更多的控制,那么应该使用template_include 筛选并使用自定义模板:
https://codex.wordpress.org/Plugin_API/Filter_Reference/template_include

示例:

add_filter( \'template_include\', \'show_maintenance_page\', 99 );

function show_maintenance_page( $template ) {
    if ( !current_user_can( \'edit_themes\' ) || !is_user_logged_in() ){
        $new_template = locate_template( array( \'maintenance-template.php\' ) );
        if ( !empty( $new_template ) ) {
            return $new_template;
        }
    }
    return $template;
}

创建一个名为maintenance-template.php 在本例的根主题文件夹上:

<?php
/*
Template Name: Maintenance mode
*/ 
?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/graphics/header/logo/1.png" />
<p>
    <strong>Site temporarily offline for maintenance.</strong> 
</p>

结束