Как проверить, существует ли правило перезаписи


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

Похоже, что хорошим решением проблемы может быть определение того, существует ли правило перезаписи, а если нет, то для удаления правил. Итак, как я могу проверить, существует ли уже правило?

Author: Mark Kaplun, 2015-04-15

1 answers

Если я правильно понимаю, то вы можете подключиться к api/процессу перезаписи и сбросить или таким образом манипулировать правилами? Прочитайте: Крючки плагинов на этой странице

Http://codex.wordpress.org/Function_Reference/WP_Rewrite

Может быть, что-то вроде:

// flush_rules() if our rules are not yet included
function my_flush_rules()
{
    $rules = get_option( 'rewrite_rules' );
    if ( ! isset( $rules['(project)/(\d*)$'] ) ) { 
        global $wp_rewrite; $wp_rewrite->flush_rules();
    }
}
add_action( 'wp_loaded','my_flush_rules' );
 4
Author: GastroGeek, 2015-04-15 09:13:22