Intereting Posts
upload_max_size не изменяется Как удалить апостроф фильтра и одинарную цитату Страница прикрепления Постоянная ссылка / Ошибка URL-адреса. Как изменить фактическое переписывание? Правильный крючок для W3TC определяет или динамически отключает общий кэш w3 Цикл WordPress, показывать только одно сообщение на пользовательское поле Существует ли шаблонный тег, который я могу использовать для ссылки на страницу архива, соответствующую месяцу публикации публикации? Как конвертировать сообщения в сообщения пользовательского типа? Вход с шаблоном не работает ? posts_type = xxx не переписан Как применяются правила перезаписи в WordPress? Как включить автора (страницу с архивом) в результаты поиска? Как получить доступ к gravatar? Добавить меню AZ в верхней части кода листинга AZ Архивы WordPress в заголовке – нужны? WordPress подсчитывает дочерние сообщения каждого родительского настраиваемого типа сообщений и используется в json-массиве для плагинов google maps jquery plugin

Правила перезаписи исчезают через некоторое время

Мой плагин

Я реализовал небольшой плагин, чтобы показывать события с определенным пользовательским полем в специальном порядке. Чтобы иметь некоторые хорошие постоянные ссылки, я также использовал функцию add_rewrite_rule для добавления этих правил. Вот важная часть моего плагина:

// Add rewrite rule for event archives on activation function event_archive_activate() { add_rewrite_rule( '^(januar|februar|maerz|april|mai|juni|juli|august|september|oktober|november|dezember)([0-9]+)', 'index.php?pagename=event_archive&event_month=$matches[1]&event_year=$matches[2]', 'top' ); flush_rewrite_rules(); } register_activation_hook( __FILE__, 'event_archive_activate' ); // Remove rewrite rule for event archives function event_archive_deactivate() { flush_rewrite_rules(); } register_deactivation_hook( __FILE__, 'event_archive_deactivate' ); // Register the custom query var so WP recognizes it function event_archive_add_query_vars( $vars ) { $vars[] = 'event_month'; $vars[] = 'event_year'; return $vars; } add_filter( 'query_vars', 'event_archive_add_query_vars' ); 

Проблема

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

Но через некоторое время правило перезаписи исчезает из правил перезаписи в таблице опций. Я искал другой вызов функции flush_rewrite_rules () в моем каталоге WordPress, но использует только плагин ma и файлы ядра.

Я понятия не имею, где и когда правило удаляется из таблицы опций и как предотвратить его в будущем. Моим единственным решением до сих пор является деактивация плагина и его повторное включение, чтобы снова сохранить правила в таблице опций.

Решение

 // Flush added rewrite rules on activation function event_archive_activate() { event_archive_set_rewrite_rules(); flush_rewrite_rules(); } register_activation_hook( __FILE__, 'event_archive_activate' ); // Add rewrite rule for event archive on init function event_archive_set_rewrite_rules() { add_rewrite_rule( '^(januar|februar|maerz|april|mai|juni|juli|august|september|oktober|november|dezember)([0-9]+)', 'index.php?pagename=event_archive&event_month=$matches[1]&event_year=$matches[2]', 'top' ); } add_filter( 'init', 'event_archive_set_rewrite_rules' );