Сразу уточняю, что речь пойдет о разработке именно сайта, а не очередного блога. Т.е. задача в следующем: есть дизайн сайта – нужно натянуть его на CMS Wordpress. Что необходимо учесть в первую очередь и с какимим проблемами придется столкнуться? Давайте разберемся.
Не верите, что желания исполняются? Просто создайте свой вишлист на JustParty.ru
1. Очистить код от лишних мета-тегов
Если вы используете в шаблоне функцию wp_head()
(например при использовании плагина All in the Seo), то вскоре обнаружите, как она запачкает блок <head>
всевозможными мета-тегами, ссылками на RSS и т.п. Эту неприятность можно исправить следующим образом.
Создайте файл functions.php
в вашей теме (если он еще не создан) и разместите код:
<? remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'wlwmanifest_link'); remove_action( 'wp_head', 'feed_links_extra'); remove_action( 'wp_head', 'feed_links'); remove_action( 'wp_head', 'rsd_link' ); remove_action( 'wp_head', 'index_rel_link' ); remove_action( 'wp_head', 'parent_post_rel_link'); remove_action( 'wp_head', 'start_post_rel_link'); remove_action( 'wp_head', 'adjacent_posts_rel_link'); ?>
Таким образом, вы избавитесь от 9 лишних строк в блоке <head>
.
2. Вывод записей с помощью query_posts()
$query
. Т.е. если вам надо вывести записи только определенной категории и только 5, вы можете указать:
query_posts('cat=3&showposts=5&orderby=date');
И дальше как обычно цикл:
// the Loop <? while (have_posts()) : the_post();?> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <? endwhile;?>
В чем же подвох? А в том, что если вы разместите подобный код, например, в шаблоне шапки сайта, то ваш сайт просто перестанет корректно работать. Дело в том, что в точности такой же цикл у вас будет и в шаблоне записи и в шаблоне страницы, а значит заданный вами запрос query_posts()
унаследуется ими.
Чтобы этого не произошло, вам нужно использовать следующую альтернативную кострукцию:
<? $my_query = new WP_Query('cat=3&showpost=5&orderby=date'); while($my_query->have_posts()) : $my_query->the_post(); ?><li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <? endwhile; ?>
Такая конструкция обеспечит условие того, что цикл в шапке будет выполняться только по запросу $my_query
, который не будет иметь отношения к обычному циклу в шаблоне записи и страницы.
3. Несколько блоков навигации
Если перед вами стоит задача вывести несколько блоков навигации, например, верхнее меню, меню слева и .т.п., то вам поможет в этом использование произвольных полей. Не волнуйтесь, здесь не будет много кода :)
Все решается очень просто с помощью встроенной конструкции wp_list_pages()
, где в качестве параметра можно указать название произвольного поля meta_key, например:
<?php wp_list_pages('sort_column=menu_order&title_li=&meta_key=top_menu'); ?>
Таким нехитрым образом можно вывести определенный список страниц в любой части сайта.
На этом пока все, но я обязательно продолжу рассказывать о наиболее волнующих проблемах разработки сайта на Wordpress в следующих статьях.
Здесь можно оставить свои комментарии. Выпуск подготовленплагином wordpress для subscribe.ru