Главная Новости

Структура ссылок (ЧПУ) для произвольного типа записей в WordPress

Опубликовано: 01.09.2018

видео Структура ссылок (ЧПУ) для произвольного типа записей в WordPress

Структура постоянных ссылок в Wordpress

Помните, мы писали о том, как создать произвольный тип записей и как вывести записи произвольного типа на WordPress сайте . Но есть еще один не менее важный момент, который вам понадобится в работе с произвольными типами записей - это настройка ЧПУ или структуры ссылок. Базовые настройки WordPress позволяют настроить ЧПУ только для встроенного типа записей, что сильно ограничивает в разработке сайта. Но решить эту проблему можно несколькими способами.



Рекомендуем прочесть пост о том, как правильно настроить ЧПУ в WordPress .

Плагины для работы с ЧПУ в WordPress

Конечно же, уже написаны специальные плагины для работы с ЧПУ произвольных типов записей:

Custom Post Type Permalinks Permalink Editor

Чтобы установить плагин, смотрите инструкцию по установке WordPress плагинов .


Раскрутка сайта - оптимальная структура ссылок

Эти плагины усовершенствуют страницу настроек ЧПУ в WordPress примерно следующим образом

Использовать плагины для настройки произвольной структуры ссылок в WordPress очень удобно. Но если нужно обойтись без плагинов, то можно сделать то же самое с помощью php кода в файле functions.php.

Настройка произвольной структуры ссылок в WordPress с помощью кода

Чтобы настроить ЧПУ для произвольного типа записей без плагина вам потребуется вставить этот код в файл functions.php и отредактировать. В коде есть комментарии, которыми показаны те участки кода, которые нужно поменять в зависимости от вашего типа записей и таксономии.

global $wp_rewrite; $stati_structure = '/stati/%category%/%stati%'; // "stati" - это ярлык произвольного типа записей, нужно поменять $wp_rewrite->add_rewrite_tag("%stati%", '([^/]+)', "stati="); $wp_rewrite->add_permastruct('stati', $stati_structure, false); add_filter('post_type_link', 'stati_permalink', 10, 3); function stati_permalink($permalink, $post_id, $leavename) { $post = get_post($post_id); $rewritecode = array( '%category%'); if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) { $unixtime = strtotime($post->post_date); $category = ''; if ( strpos($permalink, '%category%') !== false ) { $cats = wp_get_object_terms($post->ID, 'rubriki'); // "rubriki" - это зарегистрированная произвольная таксономия, нужно поменять if ( $cats ) { usort($cats, '_usort_terms_by_ID'); // order by ID $category = $cats[0]->slug; } } $rewritereplace = array($category); $permalink = str_replace($rewritecode, $rewritereplace, $permalink); } return $permalink; }

Подписывайтесь и получайте полезные статьи на почту!

rss