WordPress лаборатория
Навигация
  • Главная
  • Как создать
    • Персональный Блог
    • Полноценный Сайт
    • Интернет-магазин
  • Блог
    • Инструкции
    • Электронная коммерция
    • Плагины
    • Заметки
  • Инструменты
    • Шаблон плагина
  • Премиум
    • Купец – WP + Woo
Присоединяйся
WordPress лаборатория
WordPress лаборатория
  • Главная
  • Как создать
    • Персональный Блог
    • Полноценный Сайт
    • Интернет-магазин
  • Блог
    • Инструкции
    • Электронная коммерция
    • Плагины
    • Заметки
  • Инструменты
    • Шаблон плагина
  • Премиум
    • Купец – WP + Woo
Профессиональная помощь экспертов
Мы можем помочь с любой задачей, так или иначе связанной с WordPress!
Создайте заявку
Бесплатная оценка стоимости без обязательств.

Создать заявку
🧒 Мой Аккаунт

Главная → Блог → WordPress Multisite

Сброс постоянных ссылок на всех сайтах в сети WordPress (Multisite)

  • 23 ноября, 2021
Сброс постоянных ссылок на всех сайтах в сети WordPress (Multisite)
Total
0
Репостов
0
0
0
0
0

Достаточно часто сталкиваемся с ситуацией, когда что-то нарушает структуру постоянных ссылки на всех сайтах в сети WordPress (Multisite установка), например, когда происходит ошибка активацией плагина по всей сети.

На одном сайте из сети это достаточно легко исправить, вручную зайдя в Настройки → Постоянные ссылки, в результате чего будут сброшены и восстановлены правила перезаписи, но если в сети несколько десятков сайтов, то это уже не практично и нужен способ сделать это автоматически для всех сайтов.

Типичный подход

Большинство попыток, которые мы видели, работали примерно так:

/*
 * Это пример НЕПРАВИЛЬНОГО способа сбросить постоянные ссылки, не используйте его!
 * Используйте лучший способ, описанный ниже.
 */

function wplb_wrong_flush_rewrite_rules_on_multisite() {

    global $wp_rewrite;
    $sites = wp_get_sites( array( 'limit' => false ) );

    foreach ( $sites as $site_id ) {
        switch_to_blog( $site_id );
        $wp_rewrite->init();
        flush_rewrite_rules(); // Нельзя так делать после вызова switch_to_blog().
        restore_current_blog();
    }
    $wp_rewrite->init();

}

Функция отработает для основных типов записей POST и PAGE, но никак не повлияет на работу пользовательских типов записей CPT, а всё потому, что в работе функции switch_to_blog() есть несколько ограничений, и плагины – одна из таких вещей.

Итак, если кратко:

Если Вы используете мультисайт и у Вас есть пользовательские типы записей (CPT), которые регистрируются с помощью сторонних плагинов, то использование функции flush_rewrite_rules() бессмысленно!

Лучшией способ

Достаточно просто удалить значение опции rewrite_rules, так как она будет автоматически сгенерирована заново при следующей загрузке сайта.

$sites = get_sites( array(
	'number'  => 10000,
	'public'  => 1,
	'deleted' => 0,
) );

foreach ( $sites as $site ) {
	switch_to_blog( $site->blog_id );
	delete_option( 'rewrite_rules' );
	restore_current_blog();
}

На этом всё. Спасибо.

Поделиться 0
Твитнуть 0
Похожие Темы
  • Multisite
  • постоянные ссылки
Читайте так же
Как создать сайт на WordPress
Читать

Как создать сайт на WordPress с нуля – Пошаговая инструкция (2023)

Пошаговая настройка WordPress сайта
Читать

Пошаговая настройка сайта на WordPress после установки. Методы правильной персонализации

Безопасность WordPress
Читать

Безопасность WordPress – 19 шагов которые обязательно нужно пройти в 2023 году, чтобы спасть спокойно

Как создать блог на WordPress ПРАВИЛЬНЫМ ПУТЕМ за 7 простых шагов
Читать

Как создать блог на WordPress за 6 простых шагов. Руководство (2023)

WordPress Cron - Планировщик заданий
Читать

WordPress Cron – Планировщик заданий

Ajax в WordPress - пособие по фоновой обработке данных
Читать

Ajax в WordPress – пособие по фоновой обработке данных

Что такое рубрики в WordPress, как их добавить и настроить
Читать

Что такое рубрики в WordPress, как их добавить, настроить и что с ними можно делать

Полное руководство по xmlrpc.php в WordPress (что это такое, риски для безопасности и как отключить)
Читать

Руководство по xmlrpc.php в WordPress (что это такое, риски и как отключить)

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Что еще почитать?
  • Что такое рубрики в WordPress, как их добавить и настроить

    Что такое рубрики в WordPress, как их добавить, настроить и что с ними можно делать

    Читать
  • Как бесплатно и самостоятельно создать сайт? Выбираем лучшую платформу для сайта в 2020 году!

    Как бесплатно и самостоятельно создать сайт? Выбираем лучшую платформу для сайта в 2023 году!

    Читать
  • Как создать блог на WordPress ПРАВИЛЬНЫМ ПУТЕМ за 7 простых шагов

    Как создать блог на WordPress за 6 простых шагов. Руководство (2023)

    Читать
  • Хуки страницы товара в WooCommerce. Визуальная карта с примерами

    Хуки страницы товара в WooCommerce – визуальная карта с примерами редактирования!

    Читать
  • Ajax в WordPress - пособие по фоновой обработке данных

    Ajax в WordPress – пособие по фоновой обработке данных

    Читать
Инструменты разработчика
  • Шаблон WordPress плагина (генератор)
Нужна помощь?
Мы можем помочь с любой задачей, так или иначе связанной с WordPress!
Создайте заявку
Бесплатная оценка стоимости без обязательств.

Создать заявку
WordPress лаборатория - Еще один сайт на WP 💛
  • Обратная cвязь
  • Оплата и возврат
  • Пользовательское соглашение
  • Договор-оферта
  • Политика конфиденциальности

Введите ключевое слово и нажмите Ввод