Бесплатный курс по натяжке вёрстки на WordPress на моём YouTube канале!

Изменяем структуру постоянных ссылок через functions.php

Если вы хотите просто поменять структуру пермалинков на своём блоге, то лучше вам воспользоваться меню.

Настройка постоянных ссылок в меню WordPress

Если всё это настраивается в админке, тогда зачем лезть в functions.php?

  • если нету доступа к админке
  • при создании плагина или темы
  • по какой-то вашей собственной причине

И сразу к делу — вот вам код, если не знаете, куда вставлять — прочитайте пожалуйста заголовок статьи 🙂

function my_permalink_function(){
	global $wp_rewrite;
	$wp_rewrite->set_permalink_structure('/%category%/%postname%.html');
	$wp_rewrite->flush_rules();
}
add_action('init', 'my_permalink_function');

Как это работает?

Итак, структура постоянных ссылок задается на 3-й строчке (в скобках и кавычках) при помощи структурных тегов.

Если использовать тот пример, то ссылки на страницах с постами будут выглядеть так же, как у меня на блоге (на этом блоге).

Существуют и другие теги:

  • %year%
    год публикации (пример: 2012)
  • %monthnum%
    месяц (пример: 11)
  • %day%
    день (пример: 27)
  • %hour%
    час (пример: 14)
  • %minute%
    минута (пример: 59)
  • %second%
    секунда (пример: 11)
  • %post_id%
    id записи (пример: 505)
  • %postname%
    ярлык записи (пример: change-permalinks-in-functions-php)
  • %category%
    ярлык категории (пример: wordpress)
  • %author%
    ник автора (пример: admin)

Думаю имеет смысл рассмотреть один пример.

Запись в виде тегов:
/%year%/%monthnum%/%day%/%postname%.html

Как будет выглядеть ссылка:
https://misha.blog/2012/01/20/change-permalinks-in-functions-php.html

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp — официальной конфе по WordPress, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills.

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