Widget – seznam kategorií, počet článků v odkazech

V rubrice: Tipy & Triky | Obtížnost:

Určitě jste si už někdy lámali hlavu nad widgetem, který zobrazuje počet článků v kategorii. Mnozí z vás by si jistě odkazy udělali spíše jako tlačítka, aby čtenář nemusel najíždět přímo na text, ale stačilo by být někde v „těch místech“. V takovém případě jste ale nemohli zobrazovat počet článků v každé z kategorií, protože se odsadil na další řádek.

Pomocí následující kódu můžete počet příspěvků zobrazovat přímo v odkazu na jednotlivé rubriky. Používané například na mém webu s vtipy

class kategorie extends WP_Widget {

function kategorie() {
parent::WP_Widget(false, $name = 'kategorie');
}

function widget($args, $instance) {
extract( $args );
$title = apply_filters('widget_title', $instance['title']);
echo $before_widget;
if ( $title ) echo $before_title . $title . $after_title;
echo "<ul>";
$categories= get_categories();
foreach($categories as $category) {
$category->cat_name . ' ';
echo "<li class='cat-item'><a href='". get_category_link(get_cat_id($category->cat_name)) . "'>" . $category->cat_name . " (". $category->count .")</a></li>";
}
echo "</ul>";
echo $after_widget;
}

function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
return $instance;
}

function form($instance) {
$title = esc_attr($instance['title']);
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
<input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
</p>
<?php
}
}

add_action('widgets_init', create_function('', 'return register_widget("kategorie");'));
V rubrice: Tipy & Triky | Obtížnost:

Komentáře

  1. Rád bych to použil, ale kam mám ten kód vložit? Díky za odpověď 🙂

    1. Ahoj,

      je nutné ho vložit do souboru aktivní šablony, functions.php

  2. Díky za radu, ale můj soubor functions.php má jen 6 řádků a ať už kód umístím kamkoliv, tak to háže chyby 🙁 Asi jsem vybral špatnou šablonu 🙂

    1. Zkus to dát na konec před tag ?> Případně mi napiš na email (v levém sidebaru) jak jsi ten soubor upravil a jakou to vypisuje chybu.

  3. Vložil som uvedeny kod do pozadovaneo functions.php – v aktívnej theme wordpress a nič. V zozname kategórií sa neukazujú počty článkov. Pozeral som stránku vtipov a tam to je – mne to nejde.

    Dakujem za radu

    1. Když si rozkliknete vložený widget „Rubriky“, tak tam naleznete několik nastavení a jedním z nich je i zobrazení počtu článku.

Comments are closed.