Функция поддержки Wordpress - PullRequest
0 голосов
/ 02 марта 2019

Я хочу включить режим обслуживания в WordPress, когда условие выполнено.Я хотел включить этот режим навсегда для всех и проверять состояние cron 2 раза в день.Только я мог выключить его вручную.Я пробовал разные решения, но они не хотят работать.Код, который у меня есть на данный момент

function do_this_hourly() {

if(2>1){

    // Activate WordPress Maintenance Mode
function wp_maintenance_mode() {
    if (!current_user_can('edit_themes') || !is_user_logged_in()) {
        wp_die('<h1>Under Maintenance</h1><br />Something aint right, but were working on it! Check back later.');
    }
}
add_action('get_header', 'wp_maintenance_mode');
} else {
    echo "page work";
}
}

1 Ответ

0 голосов
/ 02 марта 2019

Обновление:

function wp_maintenance_mode() {
    // Extra, don't run if WordPress is doing updates
    if ( file_exists( ABSPATH . '.maintenance' ) || wp_installing() ) {
        return;
    }

    // Activate Maintenance Mode
    if (!current_user_can('edit_themes') || !is_user_logged_in()) {
        wp_die('<h1>Under Maintenance</h1><br />Something aint right, but were working on it! Check back later.');
    }
}

add_action('get_header', 'wp_maintenance_mode');


// Disable the maintenance if your condition is met.
if( you_condition ) {
    remove_action('get_header', 'wp_maintenance_mode');
}

Кроме того, вы можете проверить, есть ли какой-нибудь cron в процессе:

if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
    // code to be run if there is a cron in progress
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...