Изменяем структуру постоянных ссылок через 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 WooCommerce

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

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

Смотрите также