Я использую плагин WP Maintenance Mode, пока редактирую свой сайт. Я хотел бы спросить, как я могу запланировать запуск своего веб-сайта или автоматически деактивировать плагин в определенное время. Заранее спасибо!
Расписание запуска сайта
Ответы (1)
Вот одна идея:
Я не уверен, что стоит деактивировать плагин, поэтому вместо этого вы можете обновить параметры плагина, чтобы отключить режим обслуживания во время запуска:
/**
* Plugin Name: Automatic Launch for WP Maintenance Mode
* Plugin URI : http://stackoverflow.com/a/20817475/2078474
* Description: Disable the maintenance mode at launch time, defined by the "countdown" date. Assumes a single site install - not multisite.
*/
! is_admin() && add_action( 'init', function(){
$opt = get_option( 'wp-maintenance-mode' );
if( FALSE !== $opt )
{
if ( isset( $opt['active'] ) && 1 === (int) $opt['active'] )
{
if ( isset( $opt['date'] ) )
{
// current timestamp - the blog local time
$date_current = current_time( 'timestamp' ); // use time() for GMT
// countdown date user input
$date_launch = DateTime::createFromFormat( 'd-m-Y H:i:s', $opt['date'] );
// valid date input and it's launch time
if( FALSE !== $date_launch
&& $date_current > $date_launch->getTimestamp() )
{
// update the options to disable the maintenance screen:
$opt['active'] = 0;
update_option( 'wp-maintenance-mode', $opt );
update_option( 'wp-maintenance-mode-msqld', 0 );
}
}
}
}
} );
если вы используете дату обратного отсчета:

Если вам нужна другая дата, вы можете заменить:
$date_launch = DateTime::createFromFormat( 'd-m-Y H:i:s', $opt['date'] );
с например:
$date_launch = DateTime::createFromFormat( 'd-m-Y H:i:s', '24-12-2014 10:11:00' );
person
birgire
schedule
28.12.2013
Вы можете создать новый файл плагина или скопировать его в свой файл
functions.php в текущем каталоге темы. ps: проверки даты нуждаются в дополнительном тестировании.
- person birgire; 28.12.2013
Я протестировал его, и похоже, что он работает так, как ожидалось. Это сработало и для вас?
- person birgire; 30.12.2013