WordPress — простая HTML карта сайта без модулей

wordpres sitemap html production - WordPress — простая HTML карта сайта без модулей

Есть несколько способов настроить HTML карту сайта для CMS WordPress. Можно установить модуль и приукрасить его на CSS. Но для таких мелочей этот подход в корне неправильный т.к. каждый новый модуль несет дополнительную нагрузку на сервер.

Шаблоны WordPress позволяют писать PHP код в самих файлах шаблонов и именно данный способ будет описан в этой статье.

Я сторонник минимального кода, поэтому код будет в таком же стиле. Нашел готовое решение и переработал под себя. Инструкция ниже. 

Подготовка шаблона

Файл

В папке с шаблоном /wp-content/themes/[my_template] Создаем файл с любым названием — логично sitemap.php

В самом верху открываем PHP и в блоке комментариев указываем название шаблона в следующей структуре.

wordpres sitemap html - WordPress — простая HTML карта сайта без модулей
PHP комментарий для считывания движком
/*
 Template Name: HTML Карта сайта 
*/

Блок с комментариями и константа Template Name является обязательным параметром. Скрипт движка находить эти значения и работает с ними. 

Файл шаблона самый обычный. Расписывать не буду — в сети полно информации по данной теме.

Настройка движка

Заходим в раздел «страницы» и в блоке атрибуты страницы находим наш шаблон. Выбираем его и теперь вместо содержания редактора текста для данной страницы будет подставляться содержимое нашего файла sitemap.php

wordpress html sitemap page - WordPress — простая HTML карта сайта без модулей

Код HTML карты сайта

Код достаточно простой. Отдельный циклы для обычных страниц и для категорий. Заголовки категорий выводятся с ссылками на них. Инструкция ниже.  

<div class="htmlsitemap">

    	<h2>Страницы</h2>
	
		<ul class="htmlsitemap-list">
			<?php 
			$pages = get_pages(array('posts_per_page' => '-1'));

			foreach ($pages as $page) { ?>

				<li><a href="<?= get_permalink($page->ID) ?>"><?= $page->post_title ?></a></li>

			<?php } ?>
		</ul>
	
		<?php 
		$cats = get_categories();

		foreach ($cats as $cat) { ?>

			<h2><a href="<?= get_category_link($cat->term_id) ?>"><?= $cat->cat_name ?></a></h2>

			<ul class="htmlsitemap-list">
				
				<?php $posts = get_posts(array('category' => $cat->term_id, 'posts_per_page' => '-1'));
			
				foreach ($posts as $post){ ?>

					<li><a href="<?= get_permalink($post->ID) ?>"><?= $post->post_title ?></a></li>

			<?php } ?>
				
			</ul>

		<?php } ?>
    
    
    </div>

Похожие записи


PHP — простой ротатор баннеров, ротатор для DLE и WordPress
Аналог на javascriptАналог на PHP для больших кодов Очень простой ротатор кода на PHP. Сначала мы объявляем простой двумерный массив...
Как изменить пароль пользователя CMS DLE и WordPress через SQL-запрос
Перебираю старые статьи с целью их оптимизации и наткнулся на эту. В принципе, способ подойдет для любой системы на любом...
Особенности и возможности современных шаблонов для CMS WordPress
CMS WordPress — это мощная система с безграничными возможностями кастомизации шаблона и настройки функционала. На этом движке можно создать проект...
WordPress: плавное увеличение изображений на Higslide
Плагин для плавного увеличения изображений для CMS WordPress. Что делает плагин: при клике на изображение оно плавно увеличивается в модальном...
JS — скрыть внешние ссылки на сайте
Очень простой скрипт для скрытия внешних ссылок на любом сайте. Разрабатывался для CMS WordPress, но будет работать абсолютно везде. Полностью...

Добавить комментарий