创建一个维护中的页面(不使用插件)

时间:2020-05-01 作者:Zeth

有大量插件可以做到这一点。每次我使用一个,我都会花费数小时来尝试设置消息(以及徽标和背景)的样式,以适应页面的样式。

因此,我想知道我是否可以通过使用以下函数轻松制作一个:

function custom_maintenance_page() {
  if ( ! is_user_logged_in() ) {
    if( $_SERVER[\'REQUEST_URI\'] != \'/under-maintenance/\' ){
      wp_redirect( \'https://example.org/under-maintenance\' );
    }
  }
}
add_action( \'template_redirect\', \'custom_maintenance_page\' );
然后使用自定义页面模板创建一个新页面,并显示“正在维护”消息。还有,-我可以添加一些CSS,如下所示:

body.page-template-page-under-maintenance {

  header,
  footer {
    display: none !important;
  }
}

Upsides:

<页面的样式是相同的,所以谷歌分析、样式和所有这些都是相同的

Downsides

<人们可以移除display: none 并查看页眉和页脚。但是,如果用户访问其他页面,则会重定向到同一页面,因为他们没有登录
1 个回复
SO网友:jxxe

将此添加到标题中。php文件。

if(!is_user_logged_in()) {
    wp_die(\'This site is currently undergoing maintenance.\');
}
您可以替换This site is currently undergoing maintenance. 无论你想表达什么信息。

相关推荐

WooCommerce-TEMPLATE_REDIRECT如果结账且订单已付款?

在我的WooCommerce商店中,我想在付款完成后重定向到自定义的“感谢页面”。我正在使用以下代码:add_action( \'template_redirect\', \'myfunction\' ); function myfunction( $order_id ) { $order = wc_get_order( $order_id ); // I assume this is where I go wrong. Probably this is empty?&#