是否有名为‘Network_admin_init’的筛选器?

时间:2021-09-09 作者:joschi81

是否有与“admin\\u init”等效的网络,或者我必须如何向网络管理屏幕添加操作?我使用“admin\\u init”在管理网络屏幕上执行操作,但未执行相应的功能。非常感谢。

编辑:以下是我想做的。相应的插件编写自定义数据库表,因此只能在网络中的每个站点上激活。

function no_network_activation() {
    // echo \'test1 \';
    if ( is_network_admin() &&  isset($_GET[\'no-network-activation\']) ) {
        // echo \'test2\';
        add_action( \'network_admin_notices\', \'no_network_activation_notice\' );

        deactivate_plugins( plugin_basename( __FILE__ ) ); 

        if ( isset( $_GET[\'activate\'] ) ) {
            unset( $_GET[\'activate\'] );
        }
    }
}
add_action( \'admin_init\', \'no_network_activation\' );

function no_network_activation_notice(){
    // Echo an admin notice: no network activation possible
}

function myplugin_database_adder($networkwide) {
    // Redirect to network plugin url and add param to show the attempt of network-wide plugin activation
    if (is_multisite() && $networkwide) {
        header( \'Location: \' . network_admin_url( \'plugins.php?no-network-activation=true\' ) );
        exit;
    }
    else {
        // Add the plugin database tables
        // [...] 
    }
}
register_activation_hook( __FILE__, \'myplugin_database_adder\' );

1 个回复
SO网友:birgire

你可以限制你的admin_init 使用例如a的回调is_network_admin() 检查

相关推荐

绕过WP查询中的“supress_Filters”

显然,出于某种不合逻辑的原因,开发人员决定获取所有语言帖子的唯一方法是添加supress_filters=true 到WP\\u查询(而不是像这样language_code=all 选项)。无论如何,我的情况是,我需要获取所有语言的帖子,但也需要使用过滤器修改WP\\u查询。有没有办法强制将我的过滤器添加到查询中,即使supress_filters 设置为false?这是我需要添加的过滤器:add_filter( \'posts_where\', function($where, $wp_query) {