wp_redirect funktioniert nur auf der Hauptwebsite und nicht auf anderen Websites

Meine Hauptseite ist https://www.domain.com/ , alle meine Multisites werden https://www.domein.com/multisite1/ haben. Ich habe eine function in functions.php die überprüft, ob die Option (im Admin-Panel) wahr oder falsch ist. Wenn es wahr ist, sollten alle Seiten zu https://maintenance.domain.com redirect.

PHP 7:

 // Check if user is on login page function is_login_page() { return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php')); } // Check maintenance mode function nmai_maintenance() { $options = get_option('nmai_section_enable_maintenance_id'); $redirecturl = get_option('nmai_section_maintenance_url_id'); // If is admin if ($options == 1 && ! is_admin() && ! is_network_admin() && ! is_user_logged_in() && ! is_login_page()) { // Check the url if (empty($redirecturl)) { wp_redirect('https://maintenance.domain.com'); exit(); } else { wp_redirect($redirecturl); exit(); } } } add_action('wp_loaded', 'nmai_maintenance'); 

Dieser Code funktioniert für die Haupt-Website ( https://www.domain.com/ ) und wird es redirect, aber alle meine anderen Seiten werden nur auf ihre Homepage gehen. Ich habe wp_safe_redirect versucht und init anstelle von wp_loaded aber das macht keinen Unterschied. Wenn Sie diesen PHP-Code oben in der functions.php oder nur diesen Code verwenden und alle anderen Codes löschen, macht das keinen Unterschied.

Solutions Collecting From Web of "wp_redirect funktioniert nur auf der Hauptwebsite und nicht auf anderen Websites"

get_option ist eine function pro Sub-Site. Mit anderen Worten, es gibt Ihnen nur den Wert der Option in der Untersite.

Wenn Sie eine NetWrok Wide Option haben möchten, sollten Sie get_site_option und update_site_option .

Sie können auch eine Option von einer bestimmten Unter-Site abfragen, indem Sie get_blog_option verwenden und als Parameter die Haupt-Sub-Site-ID übergeben, aber meiner Meinung get_site_option sollte get_site_option bevorzugt werden.