WP_Rewrite::flush_rules()
Оновлює правила перезапису посилань (ЧПУ) у базі даних та кеші.
З версії 3.0. для оновлення правил перезапису існує функція обгортка flush_rewrite_rules() .
Потрібно використовувати після додавання нових правил перезапису УРЛів, щоб нові правила набули чинності, інакше нові правила перезапису не працюватимуть. Нові правила додаються функцією add_rewrite_rule() .
Не потрібно використовувати функцію щоразу під час завантаження сторінки. Не вішайте функцію на хуки, що викликається під час завантаження сторінки, типу: init . Ця функція вимоглива до ресурсів, тому її потрібно використовувати один раз, наприклад, під час активації/деактивації плагіна/теми.
WordPress зберігає всі правила перезапису у кеші. Іноді плагіни, теми або функції можуть додати свої, нові правила перезапису і WordPress нічого не знатиме про ці нові правила, доки всі правила не будуть перезаписані (оновлені).
Не звичайна функція, а метод класу WP_Rewrite , тому за виклику цього, необхідно переконається що змінна $wp_rewrite
, що містить у собі екземпляр класу WP_Rewrite , визначена глобально. Викликати спосіб необхідно за правилами классов: $wp_rewrite->flush_rules();
.
ВАЖЛИВО: Цей метод (функція) викликається під час оновлення настройок ЧПУ, тому для ручного оновлення правил перезапису можна просто зайти на сторінку налаштувань ЧПУ ( параметры > постоянные ссылки
) правила перезапису при цьому оновляться.
{} Це метод класу: WP_Rewrite{}
flush_rewrite_rules()
Хуки з методу
Повертає
null
. Функція нічого не повертає.
Використання
$wp_rewrite->flush_rules();
Приклади
#1 Приклад оновлення правил перезапису УРЛів:
// Переконаємося, що змінну $wp_rewrite визначено глобально global $wp_rewrite; $wp_rewrite->flush_rules();
Або можна так:
$GLOBALS['wp_rewrite']->flush_rules();
#2 Приклад оновлення правил перезапису з використанням функції flush_rewrite_rules()
під час активації плагіна:
register_activation_hook( __FILE__, 'author_base_rewrite' ); function author_base_rewrite(){ flush_rewrite_rules(false); }
flush_rewrite_rules( false ) – false вказує, що не потрібно оновлювати файл .htaccess
, якщо не вказати false, то файл .htaccess
буде оновлено відповідно до правил.
список змін
З версії 2.0.1 | Введено. |