Как приостановить срок действия блога (дочернего сайта) в WordPress для нескольких сайтов?

Когда блог создается в Wordpress Network (WordPress для нескольких сайтов). Я добавил пользовательское поле 'blog_expire', которое является датой истечения срока действия этого блога.

Так что в админке Wordpress я хочу проверить, есть ли сегодня блог (дочерний сайт) с 'blog_expire', а затем заархивировать его (это означает приостановить блог) с помощью вызова: update_archived($subsite_id, '1'). Но никаких результатов, как ожидалось, ни один блог не заархивирован / приостановлен. Где я был не прав? Есть ли лучшее решение?

Я новичок в WordPress MultiSite, с нетерпением жду получения помощи от сообщества. Большое спасибо!!!

PS: я добавил код ниже с помощью плагина Code Snippets

add_action( 'init', 'archive_expired_sites' );
function archive_expired_sites() {  
    $subsites = get_sites();    
    if ( ! empty ( $subsites ) ) {
        foreach( $subsites as $subsite ) {
            $subsite_id = get_object_vars( $subsite )["blog_id"];
            $subsite_expire_date = get_blog_option( $subsite_id, 'blog_expire' );   
            $current_date = date('m/d/Y');          
            if( $subsite_expire_date == $current_date )
            {
              update_archived($subsite_id, '1');                
            }
        }
    }
}

0 ответов

Другие вопросы по тегам