|
1 <?php |
|
2 /** |
|
3 * Sets up the default filters and actions for Multisite. |
|
4 * |
|
5 * If you need to remove a default hook, this file will give you the priority |
|
6 * for which to use to remove the hook. |
|
7 * |
|
8 * Not all of the Multisite default hooks are found in ms-default-filters.php |
|
9 * |
|
10 * @package WordPress |
|
11 * @subpackage Multisite |
|
12 * @see default-filters.php |
|
13 * @since 3.0.0 |
|
14 */ |
|
15 |
|
16 // Users |
|
17 add_filter( 'wpmu_validate_user_signup', 'signup_nonce_check' ); |
|
18 add_action( 'init', 'maybe_add_existing_user_to_blog' ); |
|
19 add_action( 'wpmu_new_user', 'newuser_notify_siteadmin' ); |
|
20 add_action( 'wpmu_activate_user', 'add_new_user_to_blog', 10, 3 ); |
|
21 add_filter( 'sanitize_user', 'strtolower' ); |
|
22 |
|
23 // Blogs |
|
24 add_filter( 'wpmu_validate_blog_signup', 'signup_nonce_check' ); |
|
25 add_action( 'wpmu_new_blog', 'wpmu_log_new_registrations', 10, 2 ); |
|
26 add_action( 'wpmu_new_blog', 'newblog_notify_siteadmin', 10, 2 ); |
|
27 |
|
28 // Register Nonce |
|
29 add_action( 'signup_hidden_fields', 'signup_nonce_fields' ); |
|
30 |
|
31 // Template |
|
32 add_action( 'template_redirect', 'maybe_redirect_404' ); |
|
33 add_filter( 'allowed_redirect_hosts', 'redirect_this_site' ); |
|
34 |
|
35 // Administration |
|
36 add_filter( 'term_id_filter', 'global_terms', 10, 2 ); |
|
37 add_action( 'publish_post', 'update_posts_count' ); |
|
38 add_action( 'delete_post', '_update_blog_date_on_post_delete' ); |
|
39 add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 ); |
|
40 |
|
41 // Counts |
|
42 add_action( 'admin_init', 'wp_schedule_update_network_counts'); |
|
43 add_action( 'update_network_counts', 'wp_update_network_counts'); |
|
44 foreach ( array( 'user_register', 'deleted_user', 'wpmu_new_user', 'make_spam_user', 'make_ham_user' ) as $action ) |
|
45 add_action( $action, 'wp_maybe_update_network_user_counts' ); |
|
46 foreach ( array( 'make_spam_blog', 'make_ham_blog', 'archive_blog', 'unarchive_blog', 'make_delete_blog', 'make_undelete_blog' ) as $action ) |
|
47 add_action( $action, 'wp_maybe_update_network_site_counts' ); |
|
48 unset( $action ); |
|
49 |
|
50 // Files |
|
51 add_filter( 'wp_upload_bits', 'upload_is_file_too_big' ); |
|
52 add_filter( 'import_upload_size_limit', 'fix_import_form_size' ); |
|
53 add_filter( 'upload_mimes', 'check_upload_mimes' ); |
|
54 add_filter( 'upload_size_limit', 'upload_size_limit_filter' ); |
|
55 add_action( 'upload_ui_over_quota', 'multisite_over_quota_message' ); |
|
56 |
|
57 // Mail |
|
58 add_action( 'phpmailer_init', 'fix_phpmailer_messageid' ); |
|
59 |
|
60 // Disable somethings by default for multisite |
|
61 add_filter( 'enable_update_services_configuration', '__return_false' ); |
|
62 if ( ! defined('POST_BY_EMAIL') || ! POST_BY_EMAIL ) // back compat constant. |
|
63 add_filter( 'enable_post_by_email_configuration', '__return_false' ); |
|
64 if ( ! defined('EDIT_ANY_USER') || ! EDIT_ANY_USER ) // back compat constant. |
|
65 add_filter( 'enable_edit_any_user_configuration', '__return_false' ); |
|
66 add_filter( 'force_filtered_html_on_import', '__return_true' ); |
|
67 |
|
68 // WP_HOME and WP_SITEURL should not have any effect in MS |
|
69 remove_filter( 'option_siteurl', '_config_wp_siteurl' ); |
|
70 remove_filter( 'option_home', '_config_wp_home' ); |
|
71 |
|
72 // If the network upgrade hasn't run yet, assume ms-files.php rewriting is used. |
|
73 add_filter( 'default_site_option_ms_files_rewriting', '__return_true' ); |
|
74 |
|
75 // Whitelist multisite domains for HTTP requests |
|
76 add_filter( 'http_request_host_is_external', 'ms_allowed_http_request_hosts', 20, 2 ); |