2015-07-01 3 views
2

Изменить постоянную ссылку: $ wp_rewrite если страница использует определенную тему.WP - wp_rewrite страница 404

Результаты в Ошибка на первой странице, и она отлично работает на странице администрирования.

//Change permalink to subject 
function change_permalink_themebasis($post) { 
    $template = get_post_meta($post->ID, '_wp_page_template' ,true); 
    if ('page-branches.php' == $template) { 
     global $wp_rewrite; 
     $wp_rewrite->page_structure = $wp_rewrite->root . 'branches/%pagename%/'; 
    } elseif ('page-modules.php' == $template) { 
     global $wp_rewrite; 
     $wp_rewrite->page_structure = $wp_rewrite->root . 'modules/%pagename%/'; 
    } else{ 
     global $wp_rewrite; 
     $wp_rewrite->page_structure = $wp_rewrite->root . '%pagename%/'; 
    } 
} 
add_action('add_meta_boxes_page', 'change_permalink_themebasis'); 

Как это исправить? Я думаю, проблема заключается в том, что тип add_action «add_meta_boxes_page», но я не могу найти правильный.

EDIT: Оке узнал, что это что-то с помощью следующего кода:

$wp_rewrite->page_structure = $wp_rewrite->root . 'branches/%pagename%/'; 

ответ

1

Просто зайдите в Настройки -> Permalinks, прокрутите до конца и и нажмите кнопку Сохранить изменения .

+0

Уточнение является королем при написании учебного ответа - возможно, объясните, почему это работает? – Frits

+0

Yeh, это не работает. Нормальный, который работает, потому что при сохранении он перезаписывает .htaccess. Но с этим сценарием нет. к счастью, его 2017 год, и я исправил вопрос еще в 2015 году. (не помните, как) спасибо за комментарий tho. – Tatof