Здравствуйте всем на блоге. Сегодня очередная статья на техническую тему, но очень животрепещущую, во какое слово выдумал. Чтобы понять всю суть, зайдите на страницу все статьи, вот на ней все мои статьи которые есть на блоге. Это так называемая карта сайта для людей где располагаются все посты, удобная штука правда? Как ее сделать читайте ниже.
Содержание.
Начало работы.
Сразу предупрежу вам понадобятся некоторые знания, конечно не особо большие, но все же. Главное будет разобраться что к чему, потому что некоторые шаблоны столько в себе содержат что ужас. Но не беда, на примере все разберу, чтобы было понятнее. Что нужно для начала.
- FTP менеджер, типа FileZilla, должен быть у всех.
- Какой-либо редактор кода, тот же самый natepad++.
- Малейшее понимание кода вордпресса.
Вам надо скачать на компьютер файл page.php активной темы вашего блога, потому что именно измененный вид этого файла и будет использоваться как шаблон вывода. Идем через ftp на хостинг и скачиваем его на комп. За подробностями смотрим на снимок.
Скачали, теперь надо понять, что именно нам необходимо, в этом поможет старый друг, просмотр кода элемента. Идем на блог и смотрим, я буду рассматривать на примере моего, заходите на любую страницу (именно страницу). Правой кнопкой на любом элементе, а дальше смотрим скрин.
В чем вся суть, видите самый большой квадрат который я выделил, и его подсветил инструмент, так он нам и нужен. Тоесть для начала вам надо найти то место где именно выводится сам текст, без заголовка, само тело страницы, на скриншоте показано все подробно.
Теперь когда нашли элемент, то необходимо найти необходимый блок div, в котором все заключено. Опять же смотрите на скриншот выше, в моем шаблоне это.
<div class="post">
Принцип понятен, надо найти необходимый блок, переходи непосредственно к самой вставке исполняющего кода.
Основная работа, правим page.php.
Мы скачивали файл page.php переходим к нему. Определили вывод всей начинки, и теперь знаем что нужно искать, открываем файл в удобном для вас редакторе, я возьму dreamweaver, далее смотрим снимок с экрана.
Все нашли, теперь переходим к самому главному. Теперь нам надо создать новый файл с названием sitemap.php и скопировать все содержимое page.php в него. Удаляем все внутренности из найденного блока безжалостно, чтобы получилось так.
И вставляем в самый верх страницы вот такой код.
<?php /* Template Name: Sitemap */ ?>
Этим делаем привязку к файлу, пункт не обязательный, но лучше бы сделать. Далее в то место где удаляли содержимое вставляем вот этот код.
<h2>Статьи:</h2> <?php $cats = get_categories('exclude=ID');//Вставьте ID категории, через запятую,которые не должны отображаться. Если нет оставьте пустым. foreach ($cats as $cat) { echo ' <h2 class="rubriki">Рубрика: '.$cat->cat_name.'</h2>'; echo ' <ul class="spis">'; query_posts('posts_per_page=-1&cat='.$cat->cat_ID); while(have_posts()): the_post(); $category = get_the_category(); if ($category[0]->cat_ID == $cat->cat_ID) {?> <li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> <?php } endwhile;?> </ul> <?php }?> <?php wp_reset_query();?> <h2 class="rubriki">Страницы:</h2> <ul> <?php wp_list_pages('exclude=ID&title_li=');?>//Вставьте ID страниц, через запятую,которые не должны отображаться. Если нет оставьте пустым. </ul>
Теперь немного пояснений.
- Видите строчки 3 и 19, там написано что можно исключить рубрики и страницы соответственно из вывода в карте сайта для людей простым прописанием id, кстати как его определить написано здесь. Просто прописываем вроде этого exclude=1,2,3.
- Далее я вставил в код два класса для оформления spis для настройки внешнего вида самого списка статей в карте сайта, и rubriki для заголовков “страницы” и “рубрики”. Которые вы должны настраивать уже сами уже через файл style.css. Тут вам надо исходить из дизайна вашего сайта, и подстраивать все под себя.
Вот ребята теперь почти все готово, для финального просмотра всего что у меня получилось, смотрите так же на скриншоте. Все должно быть понятно, сохраняем конечный файл sitemap.php на компьютере.
Закачиваем и проверяем результат.
У нас есть готовый файл, который надо закачать на хостинг, в активную тему, нет ничего проще, опять переходим в ftp, и закачиваем его.
Внимание, файл page.php не должен претерпеть никаких изменений, мы его использовали как шаблон карты сайта для людей и ничего больше.
Теперь апофеоз всего проделанного, идем в вордпресс и создаем новую страницу. В поле шаблон выбираем sitemap.php, в самой статье ничего не пишем, делаем заголовок типа “Все статьи блога” и публикуем.
Теперь у вас есть полностью автоматическая карта сайта для людей на вашем блоге, дополняйте либо удаляйте статьи и рубрики, все изменения будет происходить без вашего участия.
Вот такая длинная статья, в общем ничего сложного, просто я люблю все расписывать и разжевывать, так что пользуйтесь, на здоровье.
Источник