Описание для категорий и меток

Прошу помочь найти плагин.

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

И вроде как что то похожее проскакивало на данном сайте (плагин), вот только найти не могу. Помогите пожалуйста.

Ах да. Очень важно, чтобы описание категории/метки было только на первой её странице, на остальных ничего не было. А то будут дубли, нехорошо.

Знаю, что можно так сделать, покапавшись в коде, но так не слишком удобно будет, да и не знаю некоторых мелочей, чтобы так сделать.

5 Комментарии

  1. Значит задача у вас такова:
    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);?>
        
    Публикации в категории < ?php single_cat_title(); ?>
    Страница  < ?php if ( p2_get_page_number() > 1 ) : ?> < ?php printf( __( '%s', 'p1280' ), p2_get_page_number() ); ?> < ?php else : ?> 1
    < ?php echo category_description( $category ); ?>
    < ?php endif; ?>
    < ?php endif; ?>

    Как-то так, и никаких плагинов.

    • Здравствуй, ваш код мне очень пригодился, но как сделать так что бы номер страницы не выводился?
      Я убираю

      < ?php if ( p2_get_page_number() > 1 ) : ?>

      и все перестает работать.

  2. Немного не понял как именно быть. И за архивы у меня скорее отвечает archive.php. Вот он:

    < ?php get_header(); ?>
    
    < ?php get_sidebar(); ?>
    < ?php if (have_posts()) : ?> < ?php while (have_posts()) : the_post(); ?>
    >

    < ?php the_title(); ?>

    < ?php the_title(); ?>
    < ?php the_excerpt(); ?>
    < ?php the_time('j F, Y') ?> < ?php if (function_exists('avtor')) avtor(); ?> < ?php the_category(', ') ?>
    < ?php endwhile; ?> < ?php else : if ( is_category() ) { printf("

    Упс... Извините, категория пустая", single_cat_title('',false)); } else if ( is_date() ) { echo("

    Упс... Извините, с данной датой нет новостей

    "); } else if ( is_author() ) { $userdata = get_userdatabylogin(get_query_var('author_name')); printf("

    Упс... У данного автора нет новостей

    ", $userdata->display_name); } else { echo("

    Упс... Ничего не найдено...

    "); } echo("

    Возможно страница была удалена, либо изменился её адрес.

    Воспользуйтесь поиском (в левой колонке).

    Последние записи на сайте:

      "); 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 ) : ?>
    • < ?php echo esc_html( $item->get_title() ); ?>
    • < ?php endforeach; echo("
    "); endif; ?>
    < ?php get_footer(); ?>

    Как и куда именно всё вставить? :)

  3. Попутный вопрос по «category_description». Почему-то в поле «Описание» раздела админки Вордпресса «Изменить метку», нельзя задать параметры ссылке. В само описание я ссылку вставить могу. А вот, например, задать ей класс — нет. По нажатии «Обновить», остаётся лишь сама ссылка, без параметров. Сама функция «category_description» расписана в файле ««category-template.php». В PHP не разбираюсь, прошу помочь.

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*