最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

multisite - WPMU Hook for archive or deactivate blog?

programmeradmin3浏览0评论

I am trying to automatically clear the blog's cache when it is Archived (or Deactivated is fine) in a Multisite install. This is useful for anyone using a caching program like WP Super Cache as an archived or deactivated the blog will still show until the cache is cleared.

I have tried:

add_action( 'archive_blog', 'wp_clear_cache_custom' );
add_action( 'unarchive_blog', 'wp_clear_cache_custom');

And:

add_action( 'archive_blog', 'wp_clear_cache_custom_archive', 10, 1 );
add_action( 'unarchive_blog', 'wp_clear_cache_custom_archive', 10, 1 );

With the function:

function wp_clear_cache_custom() {
        global $wpdb;
        wp_cache_clear_cache( $wpdb->blogid );
}

This same setup works fine for clearing the cache when a theme is changed, etc. but not for blog status changes.

Any help is much appreciated.

This page seemed to be close but no dice: Perform action on WPMU blog deletion

I am trying to automatically clear the blog's cache when it is Archived (or Deactivated is fine) in a Multisite install. This is useful for anyone using a caching program like WP Super Cache as an archived or deactivated the blog will still show until the cache is cleared.

I have tried:

add_action( 'archive_blog', 'wp_clear_cache_custom' );
add_action( 'unarchive_blog', 'wp_clear_cache_custom');

And:

add_action( 'archive_blog', 'wp_clear_cache_custom_archive', 10, 1 );
add_action( 'unarchive_blog', 'wp_clear_cache_custom_archive', 10, 1 );

With the function:

function wp_clear_cache_custom() {
        global $wpdb;
        wp_cache_clear_cache( $wpdb->blogid );
}

This same setup works fine for clearing the cache when a theme is changed, etc. but not for blog status changes.

Any help is much appreciated.

This page seemed to be close but no dice: Perform action on WPMU blog deletion

Share Improve this question edited Apr 13, 2017 at 12:37 CommunityBot 1 asked Jan 3, 2014 at 21:15 Neverending WoesNeverending Woes 111 bronze badge
Add a comment  | 

1 Answer 1

Reset to default 0

According to wpseek, there exist hooks for unarchive_blog, archive_blog, and deactivate_blog. You can examine them in the source on WordPress's Trac site:

  • archive_blog
  • unarchive_blog
  • deactivate_blog

All of them use the $blog_id parameter. Try changing your function to reflect that:

add_action( 'archive_blog', 'wp_clear_cache_custom' );
function wp_clear_cache_custom( $blog_id ) {
    wp_cache_clear_cache( $blog_id );
}
发布评论

评论列表(0)

  1. 暂无评论