2013-04-12 3 views
0

Я делаю тему Wordpress в качестве приложения. Я хотел бы переписать URL-адрес в теме, поскольку это иногда более удобно.Переписать URL-адрес в WordPress темы для детей

Если кто-то входит, например www.domain.com/show-new-cars/

Я хотел бы сервер для загрузки www.domain.com/index.php?loadcars=1

Я попытался поместить это в папки дочерних тем functions.php без каких-либо результатов.

add_action('init', 'wpse7379_init'); 
function wpse7379_init() 
{ 
add_rewrite_rule('show-new-cars/', 
'index.php?loadcars=1', 
'top'); 
} 
+0

Вы очистили свои правила перезаписи? Попробуйте сохранить структуру постоянной ссылки, чтобы заставить их сбрасываться. –

+0

Да, это, казалось, решило. Благодаря! –

ответ

0

$ wp_rewrite-> flush_rules(); делает трюк.

Это обновление из-за того, что он не использует флеш каждый раз, когда загружается страница, так как он может увеличить выделение нагрузки на сервер.

//When activated trough admin 
if (is_admin() && isset($_GET['activated']) && $pagenow == 'themes.php') { 

    add_action('init', 'wpse7379_init'); 
    function wpse7379_init() 
    { 
    add_rewrite_rule('show-new-cars/', 
    'index.php?loadcars=1', 
    'top'); 
    } 
    $wp_rewrite->flush_rules(); 

} 
+1

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

+0

Добавлен код, поэтому он запускается только при активации темы через admin, спасибо за отзыв –

Смежные вопросы