Пачка полезных сниппетов для блога. Часть 9

Программно залогиниваем пользователя в WordPress

При разработке сайта на платформе WordPress может оказаться очень полезным знать, как прораммно залогинить пользователя. Вот функция для этого.

Как обычно, необходимо добавить код в файл functions.php вашей темы или в плагин для сайта WordPress:

function auto_login( $user ) {
    $username = $user;
    if ( !is_user_logged_in() ) {
        $user = get_userdatabylogin( $username );
        $user_id = $user->ID;
        wp_set_current_user( $user_id, $user_login );
        wp_set_auth_cookie( $user_id );
        do_action( 'wp_login', $user_login );
    }     
}

Затем, для «захода» пользователя делаем следующее:

auto_login( 'admin' )

Автоматические обновления в WordPress 3.7

В WordPress 3.7 появилась новая и интересная функция, которая позволяет вашему блогу автоматически обновляться при появлении новой версии. Это действительно удобная фича, однако, если по какой-либо причине вам это не нужно, вот быстрый «рецепт» для ее отключения.

Для отключения автоматических обновлений необходимо открыть файл wp-config.php, который располагается в корневой директории вашего сайта, и вставить туда следующую строку:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

После сохранения файла автоматические обновления будут отключены и вам снова придется обновляться вручную.

Включаем автоматические обновления для основных релизов в WordPress 3.7

Если вам понравилась идея авто-обновления, то вы можете включить его для только обновления основных релизов WordPress (например с 3.7 на 3.8 и т.д.)
Для этого добавляем одну строку в файл wp-config.php, который располагается в корневой директории вашего сайта:

define( 'WP_AUTO_UPDATE_CORE', true );

Есть одна небольшая проблема в этом коде. Он также включает обновления разработчиков (альфа- и бета-версии, RC), а также так называемые обновления «ночных сборок» (Nightly Builds). Для отключения всех этих ночных сборок , альф и бет просто добавляем код в файл functions.php вашей темы или в плагин для сайта WordPress:

add_filter( 'allow_dev_auto_core_updates', '__return_false' );

Небольшой список фильтров для организации новой функции обновления:

// обновление темы
add_filter( 'auto_update_theme', '__return_true' );

// обновление плагинов
add_filter( 'auto_update_plugin', '__return_true' );

// обновление файлов перевода
add_filter( 'auto_update_translation', '__return_true' );

// Отправляем письмо об авто-обновлении
add_filter( 'auto_core_update_send_email', '__return_true' );

// обновление ядра
add_filter( 'auto_update_core', '__return_false' );

// Nightly Build
add_filter( 'allow_dev_auto_core_updates', '__return_true' );

// версии внутри ветки
add_filter( 'allow_minor_auto_core_updates', '__return_true' );

// версии между ветками
add_filter( 'allow_major_auto_core_updates', '__return_true' );

Как это работает?
Оставим включенным только обновления плагинов и тем, и отключим обновления ядра и локализации, и отключим уведомления на почту:

    add_filter( 'auto_update_theme', '__return_true' );  
    add_filter( 'auto_update_plugin', '__return_true' );  
      
    // отключаем авто-обнолвение  
    add_filter( 'auto_update_translation', '__return_false' );  
    add_filter( 'auto_core_update_send_email', '__return_false' );  
    add_filter( 'auto_update_core', '__return_false' );  
VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top