如何在更新期间限制WordPress页面?

时间:2012-08-13 作者:Jason

我将升级我的Wordpress网站的设计和内容。在此期间,我只希望主页可用。是否有一种好的方法来锁定它(通过插件等)。

我很难从谷歌找到答案。

谢谢Jason

2 个回复
最合适的回答,由SO网友:Evan Yeung 整理而成

这是我在网站建设期间使用的一个小代码陷阱

<?php
/* ROUGH METHOD OF DENY ACCESS */
    $underconstruct = array(121, 46, 124, 97);
    if(!is_user_logged_in() && !in_array(get_the_ID(), $underconstruct)) {
        wp_redirect(get_permalink(121));
        exit();
    }
?>
我把这个放在我的header.php.
$Understruct数组是所有未登录用户都可以看到的页面/帖子ID。如果他们没有登录,并且不在应该登录的页面上,他们会被重定向。如果用户已登录,则一切都将正常进行。

SO网友:Damien

由于WordPress是一个动态的web应用程序,当其他所有内容都在更新时,很难让您的主页可用。

每当你运行插件或WordPress核心的更新时,它都会触发其维护模式。这将显示“暂时不可用”页面。

即使使用上述方法,如果访问者试图在运行更新脚本时访问站点,也会导致他们看到标准维护页面。

我认为最好的方法是创建自己的维护。php文件,这比静态页面要好。

..注意,我只是展示了我的维护页面的屏幕抓图,让您对可以实现的目标有一点了解。enter image description here

你可以看到我的maintenance.php 正在运行

Maintenance mode要将WordPress置于维护模式,请创建一个名为.maintenance 在您的/wordpress 文件夹

我总是把我的另存为aaaa.maintenance 所以我可以找到它。

Maintenance mode - logged in users allowed.
此步骤允许登录用户访问WP admin并访问前端。

编辑aaaa.maintenance 并插入此代码:

<?php
function is_user_logged_in() {
$loggedin = false;
foreach ( (array) $_COOKIE as $cookie => $value ) {
    if ( stristr($cookie, \'wordpress_logged_in_\') )
        $loggedin = true;
}
return $loggedin;
}
if ( ! stristr($_SERVER[\'REQUEST_URI\'], \'/wp-admin\') && ! stristr($_SERVER[\'REQUEST_URI\'],         \'/wp-login.php\') && ! is_user_logged_in() )
$upgrading = time();
?>
Create your own maintenance.php
wp-content 创建一个名为maintenance.php

打开文件并添加此代码:

<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( \'HTTP/1.1\' != $protocol && \'HTTP/1.0\' != $protocol )
    $protocol = \'HTTP/1.0\';
header( "$protocol 503 Service Unavailable", true, 503 );
header( \'Content-Type: text/html; charset=utf-8\' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<!--- insert HTML here including hard coding your CSS -->

</body>
</html>
<?php die(); ?>
确保文件底部具有<?php die(); ?>

因此,现在您有了自己的静态页面,可以在重命名aaaa时随时调用。维护至.maintenance

您可以访问/wp-admin 即使您没有登录。

结束