👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
Прошу помочь найти плагин.
Суть такова. Вот перешёл пользователь в нужную ему категорию или метку. Нужно, чтобы над списком статей отображалась нужная мне информация, хочу прописать описание. Идеально, если бы можно было ещё задать title, description и прочие теги. Думаю ясно, что хочу это сделать для улучшения SEO у сайта.
И вроде как что то похожее проскакивало на данном сайте (плагин), вот только найти не могу. Помогите пожалуйста.
Ах да. Очень важно, чтобы описание категории/метки было только на первой её странице, на остальных ничего не было. А то будут дубли, нехорошо.
Знаю, что можно так сделать, покапавшись в коде, но так не слишком удобно будет, да и не знаю некоторых мелочей, чтобы так сделать.


Значит задача у вас такова:
1. Определить номер страницы в архиве постов определенной категории
2. Если это первая страница, то вывести описание категории
Решается эта задача так.
Создается функция, определяющая текущий номер страницы архива. Для этого нужно добавить в functions.php
function p2_page_number() { echo p2_get_page_number(); } function p2_get_page_number() { global $paged; return apply_filters( 'p2_get_page_number', $paged ); }После этого выводится описание категории только на первой странице. Предположим, что за создание архива постов определенной категории отвечает файл index.php. Тогда в него нужно вставить
<?php if(is_category()) : ?> <?php $this_category = get_category($cat);?> <div> <div> Публикации в категории <?php single_cat_title(); ?> </div> <div> Страница <?php if ( p2_get_page_number() > 1 ) : ?><!--если это не первая страница, то выводится только ее номер--> <?php printf( __( '%s', 'p1280' ), p2_get_page_number() ); ?> <?php else : ?><!--если это первая страница, то выводится ее номер и описание категории--> 1 <div> <?php echo category_description( $category ); ?> </div> <?php endif; ?> </div> </div> <?php endif; ?>Как-то так, и никаких плагинов.
Здравствуй, ваш код мне очень пригодился, но как сделать так что бы номер страницы не выводился?
Я убираю
и все перестает работать.
Немного не понял как именно быть. И за архивы у меня скорее отвечает archive.php. Вот он:
<?php get_header(); ?> <div class="outer" id="contentwrap"> <!--noindex--><div class="postcont" style="margin: 0 0 8px;width: 928px;text-align: center;padding: 5px 0 0;"> <script type="text/javascript"><!-- google_ad_client = "ca-pub-8747125121336190"; google_ad_slot = "0929922088"; google_ad_width = 728; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> </div><!--/noindex--> <?php get_sidebar(); ?> <div class="postcont"> <div id="content"> <?php if (have_posts()) : ?> <div class="breadcrumbs" style="margin:5px 0 0"><img src="http://ubuntovod.ru/wp-content/themes/TinyWeb/images/folder.png" /><?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?></div> <?php while (have_posts()) : the_post(); ?> <div <?php post_class() ?>> <h2 class="title" style="margin: 0"><a 0="" 1="the_permalink()" 2="?" rel="nofollow">" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <div class="entry"> <div class="alignleft post_thumbnail"><img src="<?php echo kama_thumb_src ('w=200 &h=160 &q=90'); ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /></div> <?php the_excerpt(); ?> </div> <div class="previewfooter"> <div class="alignleft"> <img src="http://ubuntovod.ru/wp-content/themes/TinyWeb/images/date.png" /><?php the_time('j F, Y') ?> <?php if (function_exists('avtor')) avtor(); ?> <img src="http://ubuntovod.ru/wp-content/themes/TinyWeb/images/folder.png" /><?php the_category(', ') ?> </div> <div class="alignright"><!--noindex--> <a class="readmore" 1="the_permalink()" 2="?" rel="nofollow">" rel="bookmark" title="<?php the_title_attribute(); ?>">Читать далее »</a><!--/noindex--></div> </div> </div> <?php endwhile; ?> <div class="navigation"><?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?></div> <?php else : if ( is_category() ) { printf("<h1 class='title'>Упс... Извините, категория пустая</h1>", single_cat_title('',false)); } else if ( is_date() ) { echo("<h1 class='title'>Упс... Извините, с данной датой нет новостей</h1>"); } else if ( is_author() ) { $userdata = get_userdatabylogin(get_query_var('author_name')); printf("<h1 class='title'>Упс... У данного автора нет новостей</h1>", $userdata->display_name); } else { echo("<h1 class='title'>Упс... Ничего не найдено...</h1>"); } echo("<p style="margin: 10px 0pt;">Возможно страница была удалена, либо изменился её адрес.</p><p style="margin: 10px 0pt;">Воспользуйтесь поиском (в левой колонке).</p><p style="margin: 10px 0pt;">Последние записи на сайте:</p> <ul>"); include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed('http://feeds.feedburner.com/ubuntovod'); if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(10); $rss_items = $rss->get_items(0, $maxitems); endif; if ($maxitems == 0) echo ''; else foreach ( $rss_items as $item ) : ?> <li><a 0="" 1="echo" 2="esc_url(" 3="$item-" rel="nofollow">get_permalink() ); ?>" title="<?php echo esc_html( $item->get_title() ); ?>"> <?php echo esc_html( $item->get_title() ); ?></a></li> <?php endforeach; echo("</ul>"); endif; ?> </div> </div> </div> <?php get_footer(); ?>Как и куда именно всё вставить? :)
Вставляете в 20 строку, тогда у вас описание будет сразу под “хлебными крошками”.
Попутный вопрос по «category_description». Почему-то в поле «Описание» раздела админки Вордпресса «Изменить метку», нельзя задать параметры ссылке. В само описание я ссылку вставить могу. А вот, например, задать ей класс — нет. По нажатии «Обновить», остаётся лишь сама ссылка, без параметров. Сама функция «category_description» расписана в файле ««category-template.php». В PHP не разбираюсь, прошу помочь.