自定义已删除/已存档的博客警告页面

时间:2013-05-03 作者:brasofilo

当我们试图访问多站点中已删除或存档的站点时,WordPress显示wp_die() 消息

This site has been archived or suspended.

此消息将显示在已删除的网站上:

此用户已选择删除其帐户,并且内容不再可用。

我们如何定制它?

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

处理此问题的功能是ms_site_check().

如果存在,它将使用以下文件。他们应该呈现一个完整的自定义HTML页面。

  • WP_CONTENT_DIR . \'/blog-deleted.php\'
  • WP_CONTENT_DIR . \'/blog-inactive.php\'
  • WP_CONTENT_DIR . \'/blog-suspended.php\'
另一种选择是缩短流程并重定向访问者。必须用Must Use plugin 这里使用PHP 5.3匿名函数作为回调。

<?php
/**
 * Plugin Name: Prevent Archived/Deleted blogs warning in Multisite
 * Plugin Url: https://wordpress.stackexchange.com/q/98151/1261
 * Version: 1.0
 * Author: Rodolfo Buaiz
 * Author URI: https://wordpress.stackexchange.com/users/12615/brasofilo
 */

add_filter( 
    \'ms_site_check\',
    function() 
    {
        // Super admins should be able to see it
        if( current_user_can( \'manage_network\' ) )
            return;

        $blog = get_blog_details();
        if(
            \'1\' == $blog->deleted 
            or \'2\' == $blog->deleted
            or \'1\' == $blog->archived 
            or \'1\' == $blog->spam
        )
        {
            wp_redirect( network_site_url() );
            die();
        }
    } 
);
Related Q&A: How to disable Multisite sign-up page?

结束

相关推荐

正在尝试在WordPress MultiSite中输出“访问次数最多的博客”列表

有人知道如何从Wordpress Multisite中获得“访问量最大”的列表吗?我有很多博客,一直在寻找一种方法来输出前10/20个访问量最大的博客列表,但找不到任何插件或代码片段。示例-如本网站右侧的列表(非WP)http://blogg.se/