Wordpress ПРИНУДИТЕЛЬНОЕ ОБНОВЛЕНИЕ настроек постоянных ссылок

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

Единственное исправление, которое я нашел, это то, что мне нужно вернуться к параметрам постоянной ссылки и нажать «Сохранить изменения», хотя, согласно дисплею, я не вносил никаких изменений, которые нужно сохранить...

Я устанавливаю постоянные ссылки на /%postname%/

Вот как я это делаю.

if(get_option('permalink_structure')==""){update_option('permalink_structure', '/%postname%/');}

Этот скрипт запускается, когда моя тема активирована.

Любые идеи, почему это только частично делает работу?


person Scott B    schedule 08.03.2010    source источник
comment
Не могли бы вы сказать нам веб-сервер?   -  person Kyle Hotchkiss    schedule 08.03.2010


Ответы (1)


Когда вы устанавливаете структуру постоянных ссылок на панели настроек Wordpress, она вызывает функцию set_permalink_structure в wp_includes/rewrite.php. В дополнение к настройке параметра permalink_structure эта функция также повторно инициализирует компонент перезаписи WordPress и запускает действие permalink_structure_changed.

Вы должны вызвать эту функцию вместо того, чтобы напрямую устанавливать параметр, что-то вроде этого должно работать:

if (get_option('permalink_structure') == '') {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure('/%postname%/');
}
person Richard M    schedule 08.03.2010