FAQ по WordPress

Ответы на часто задаваемые вопросы по WordPress.

Список подрубрик текущей рубрики

Нужно вывести список подрубрик текущей рубрики без родителей.
Т.е.
Украина (ua)
-Киев
-Севастополь
-Ялта
Россия
-Москва
-Питер
….

Чтобы когда человек находится в /ua/ выводились только города Украины.

Все сводится к тому, что нужно добавить в wp_list_cat child_of=ХХ, где ХХ – код подрубрики. Однако как это сделать автоматически. Т.е. в какой переменной храниться код текущей рубрики, а еще лучше массив всех родителей (если глубина большая)?

Пока писал нашел ответ –
wp_list_cats(‘sort_column=menu_order&optioncount=0&child_of=’.$cat); ?> – $cat – нужно было вынести за кавычку.

Однако нужен код самого главного родителя. Т.е. когда захожу в Киев, то города Украины пропадают.
🙁

В каком массиве это хранится или как получить такой массив?

Исключить НЕСКОЛЬКО категорий с главной

<?php
   if (is_home()) {
      query_posts("cat=-1,-2,-3");
   }
?>

Исключены категории с id= 1, 2 и 3

Этот код следует добавить в index.php Вашей темы перед началом Цикла (loop). Классический Цикл начинается так:

<?php while (have_posts()) : the_post(); ?>

Источник: query_posts

UPD 28.05.2007
Можно воспользоваться плагином Category Visibility

Категории и подкатегории в sidebar

для wordpress 1.5.x — 2.0.x

Что сделать, чтобы в sidebar ссылки на категории отображались так:

категория 1
— подкатегория 1.1
— подкатегория 1.2
— подкатегория 1.3
категория 2
— подкатегория 2.1
— подкатегория 2.2

В коде все это хозяйство выглядит так:

<ul>
  <li>категория 1
       <ul class="children">
           <li>подкатегория 1.1</li>
           <li>подкатегория 1.2</li>
           <li>подкатегория 1.3</li>
       </ul> 
  </li>
  <li>категория 2
       <ul class="children">
           <li>подкатегория 2.1</li>
           <li>подкатегория 2.2</li>
       </ul> 
  </li>
</ul>

Решение:
WordPress для подкатегорий предусмотрел специальный класс, просто добавьте в style.css своей темы

.children

и оформляйте ссылки на подкатегории (они же вложенные рубрики) как душе угодно!
Не забывайте, что ссылки на категории/подкатегории WordPress выводит в виде списков (ul, li), то есть — ul class="children"

ДЛЯ ТЕХ, КТО В ТАНКЕ, НА БИС: WORDPRESS САМ! ВЫВОДИТ UL CLASS="CHILDREN" ДЛЯ ПОДКАТЕГОРИЙ. ВСЁ, ЧТО ВАМ НУЖНО СДЕЛАТЬ — ПРОПИСАТЬ КЛАСС .children В style.css СВОЕЙ ТЕМЫ.

А также:
Для того, чтобы отображались вложенные рубрики (подкатегории) под родительскими категориями (как в примере выше), открываем sidebar.php, ищем <?php wp_list_cats(); ?> и изменяем его следующим образом:

<?php wp_list_cats('hide_empty=0&hierarchical=1'); ?>

hide_empty=0 показываем ссылки на пустые категории (в которых еще нет постов)
hierarchical=1 отображаем подкатегории под родительской категорией

Читаем Кодекс Вордпресса: wp_list_cats
Не знаете, что такое класс в css и что с ним делать? Учим css, подробно про ul

для wordpress 2.1.x и ВЫШЕ

В wp версии 2.1.0 и выше вместо wp_list_cats используется wp_list_categories.
Порядок действий тот же.

——————————————————————
——————————————————————
UPD
Как отсортировать рубрики в sidebar

проблемы с кодировкой

Рассмотрим случай, когда «иегорлифы» появились после внесения изменений в тему или вставку счетчиков или после русификации плагина

Правило тут одно и оно очень простое:

Если вы открыли файлы темы (или файлы плагина) и изменили их (русифицировали например), сохраняйте в той же кодировке, в которой у вас блог.
Если блог в кодировке utf-8, сохраняйте в utf-8 (без BOM)

Для этого лучше использовать редактор, который поддерживает utf.
Например: gvim, PSPAD, dreamweaver (PSPAD и gVim — бесплатные)
Можно сохрянять и в Блокоте, тогда не забывайте выбирать "Сохранить как" и "Кодировка" — utf-8

Топики по теме «проблемы с кодировкой»:
1. Распространенные ошибки при работе с WordPress

2. Проблемы с буквой "ш" и "и"
Еще решение от Yana (Проблемы с буквой "ш" и "и"):
в файле wp-settings.php в самом низу после:

do_action('init');

добавить две строчки:

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");

Вывод на главной странице анонсов, а не сообщений целиком

Чтобы на главной странице блога выводились короткие анонсы сообщений, в посты нужно вставлять тэг <!–more–> (в визуальном редакторе также есть кнопка, вставляющая этот тэг).

Исключить определенную категорию с главной

ОДИН ИЗ ВАРИАНТОВ:

Основной цикл (loop) для файла index.php темы будет выглядеть так:

<?php $top_query = new WP_Query('cat=-1&showposts=10'); ?>
<?php while($top_query->have_posts()) : $top_query->the_post();
$first_post = $post->ID; ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><a href="<?php the_permalink() ?>" rel="bookmark"
title="Permalink: <?php the_title(); ?>"><?php the_title();
?></a></h2>
<div class="entry">
<?php the_content('Далее…'); ?>
</div>
</div>
<?php endwhile; ?>

Исключена категория с id=1 (cat=-1)
Выводятся посл. 10 постов (showposts=10)

UPD 28.05.2007
Можно воспользоваться плагином Category Visibility

Вывод на главной статичной страницы

Задача:
Сделать так, чтобы на главной странице выводилась статичная страница (Page)
Решение:
Для того, чтобы вывести на главной вместо постов статичную страницу, находим начало цикла (loop) в файле index.php (или home.php — если такой файл есть в теме) темы:

<?php while (have_posts()) : the_post(); ?>

И перед этой строчкой вставляем код:

<?php query_posts('page_id=7'); ?>

Где 7 — это id страницы (Page). Id страницы можно узнать в админке «Управление» — «Страницы»

или

<?php query_posts('pagename=about'); ?>

Где about — это slug (короткая ссылка) этой страницы.

Про query_posts: http://codex.wordpress.org/Template_Tags/query_posts

UPD
Если у Вас версия wordpress 2.1.x, то все намного проще — статичную страницу в качестве главной можно выбрать в админке.

Плагины, активные сразу после установки

Доброго времени суток, уважаемые доны 🙂
Возник вопрос – вопрос – в скором времени, возможно придется развертывать несколько сайтов на вордпрессе – возможно ли прописать где то какие плагины будут уже активны сразу после установки? А то несколько напряжно руками их активировать каждый раз..

Надпись на фотографии

Есть такая идея, накладывать напись на фотографию. Например, чтобы была сбоку в перпендикулярно горизонту /скажем, имя автора фотографии/. Чем можно сделать? Существует ли стандартная функция, чтобы делать это без лишнего геммороя?

Зафиксировать запись

Заинтересовался можно ли wordpress зафиксировать post так, чтобы в выдаче она была на одном и том же месте. Скажем всегда 3-им. Как сделать, чтобы пост был всегда сверху я кажется понял – нужно задать ему дату публикации заведомо большую текущей.
И ещё вопрос по WP-CLIENT. Как у него с кодировкой windows-1251? (вынужден не использовать UTF, т.к. mysql на хостинге < 4.1 🙁 )

хлебные крошки

У кого-нибудь есть соображения, как здесь http://www.icontext.ru/reklamodatelyam/kontekstnaya-reklama/mediynyiy-kontekst/ реализовано? (это вордпресс)

Anonymous
Отправить
Ответ на: