当插件已经被网络激活时,在新添加的站点中初始化插件的干净方法?

时间:2014-05-26 作者:Dan

我一直在努力迁移我的一个插件以支持多站点安装,并试图找出最干净的方法来处理以下一系列事件:

插件是网络激活的,新站点被添加了,我目前正在收听激活挂钩,它适用于其他任何情况,包括个人激活和站点范围的激活,但添加新站点时我没有收到激活点击。Incidentally, this strikes me as a bug in WP core... 无论如何,我需要捕捉这一系列事件并运行激活操作。

我在考虑将wpmu_create_blog 挂钩和is_plugin_active_for_network, 但我不确定是否有更好的方法可以做到这一点。

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

查看Make WordPress后,看起来这是一个已知的issue 由于大型网络的可扩展性问题,这一问题不会得到解决。

上面链接的同一问题建议完全按照上面讨论的解决方案执行。具体来说,这看起来像这样:

public static function 145561_activate_new_blog($blog_id) {
   if (is_plugin_active_for_network(plugin_basename(__FILE__))) {
      // do activation for $blog_id
   }
}
add_action(\'wpmu_new_blog\', \'145561_activate_new_blog\');

结束

相关推荐

404 on page 2 multisite

我有一个多站点安装的wordpress。在我的起始页(index.php)上,我显示了来自该网络所有站点的帖子。我遇到的问题是,当我转到/Page/2时,如果我的主博客没有足够的帖子放在第2页上,我会收到404条消息。然而,在整个网络上,有足够的帖子可以容纳2页。如果我在我的主博客中添加更多帖子,第2页将再次可用。我猜wordpress会在查询包含索引之前检查是否存在任何帖子。php。我试图找到在哪里可以做到这一点,但没有找到任何东西。有人知道wordpress在索引之前是否做过这种检查吗。是否包含php