Wordpress Plugin: Show Active Category

projekte  | 27.07.08, 14:23 | TB  

Im Folgenden geht es um ein Worpress Plugin von mir, welches es ermöglicht, die Kategorie(n) eines Artikels in der Navigation hervorheben, wenn man sich auf der Einzelseite eines Blogposts befindet.

Warum braucht man das Plugin?

Wordpress ist zwar von Haus aus in der Lage, beim browsen durch die Kategorien eines Blog die aktuelle ausgewählte Kategorie optisch hervorzuheben. Dazu erhält die aktuelle Kategorie einfach die zusätzlich Klasse “current-cat” und kann mittels CSS definiert werden.

Ist man jedoch auf einer Artikelseite, ist diese Funktionalität nicht mehr gegeben. Egal ob ein Blogpost in einer oder in mehreren Kategorien ist, mit einer Standard-Wordpress-Installation findet man in der Liste der Kategorien keinen Hinweis, zu welcher Kategorie der aktuelle Artikel gehört.

Genau hier verschafft das Show-Active-Category Plugin Abhilfe.

Nach der Installation und Aktivierung des Plugins wird jede Kategorie, zu der ein Artikel gehört, um die Klasse “active_category” ergänzt. Diese Klasse MUSS danach im Wordpress Stylesheet angelegt werden.

Achtung: Wird die Klasse “active_category” nicht per CSS beschrieben, hat das Plugin keine sichtbaren Auswirkungen!

Download:

show-active-category.zip (1,9 KB)

Installation und Benutzung des Plugins:

  1. Die Datei show-active-category.zip herunterladen und entpacken.
  2. Den entpackten Ordner show-active-category in das Verzeichnis wp-content/plugins kopieren bzw. per dahin FTP hochladen.
  3. Im Wordpress Backend unter Plugins das Plugin “Show Active Category (while browsing a post)” aktivieren.
  4. Im Stylesheet des Wordpress Themes eine Anweisung für die Klasse .active_category angeben.
  5. Fertig!

Getestet ist das bisher mit WP 2.5.1 und WP 2.6
Über Feedback zum Plugin freue ich mich natürlich.

Beitrag speichern

   
RSS Feed für Kommentare dieses Beitrags 12 Feedbacks zu
Wordpress Plugin: Show Active Category
 
Kommentar von Monika | 29.07.08, 14:29

Hi wie reagiert das Plugin, wenn ein Artikel in mehreren Kategorien gespeichert ist?

lg

 
Kommentar von KJ | 05.08.08, 10:49

This is a great help thanks. I was wondering why this wasn’t already core functionality but I guess that if you are using the categories as a navigation then having multiple categories highlighted (if the post has multiple categories assigned) could be confusing. Still, it would be good if this was an optional feature in wordpress.

Cheers!

 
Kommentar von dirk | 05.08.08, 11:25

@monika: es wird jede kategorie, zu der ein artikel gehört, mit der neuen klasse versehen, d.h. es werden auch mehrer kategorien hervorgehoben.

 
Kommentar von cbeier | 17.08.08, 18:32

Leider ist bei WP 2.6.1 Schluß… Dort werden mit dem Plugin sämtliche Kategorien hervorgehoben :-(

 
Kommentar von dirk | 18.08.08, 07:41

hallo christine, danke für den hinweis. ich schau mir das heute abend mal an und versuche das problem zu lösen.

 
Kommentar von hc | 18.08.08, 17:21

moin,
sehr nett das plugin, ABER… ;-)
… kann es sein, dass die oberkategorien (current-cat-parent) hierbei nicht berücksichtigt werden??

z.B.: wp_list_categories(’depth=1′)
stylesheets-Klassen:
.current-cat,
.current-cat-parent,
.active_category

für die unterkategorien klappts, aber es sollten beide hervorgehoben werden.

danke schon mal vorab für feedback und natürlich für das plugin!

 
Kommentar von dirk | 18.08.08, 22:40

@cbeier: bist du dir sicher, dass das problem an wp 2.6.1 liegt? hab es gerade lokal getestet und kann den fehler nicht nachvollziehen.

@hc: es war gar nicht meine absicht, dass die oberkategorie(n) mit hervorgehoben. sollte so etwas tatsächlich gewünscht werden, könnte ich mir mal gedanken dazu machen, dass plugin dahingehend zu erweitern.

danke für das feedback!

 
Kommentar von hc | 19.08.08, 11:56

ich hab es mal für mich angepasst. aber danke für deine reaktion!
grüße, hauke

hier meine änderungen:
————————–

if( is_single() ) {
$categories = wp_get_post_categories($post->ID);
foreach( $categories as $catid ) {
$cat = get_category($catid);
$catParent = get_category($cat->category_parent);
if(preg_match(’#>’ . $cat->name . ‘#’, $text))
{
$text = str_replace(’>’ . $cat->name . ‘‘, ‘ class=”active_category”>’ . $cat->name . ‘‘, $text);
}
else if (preg_match(’#>’ . $catParent->name . ‘#’, $text))
{
$text = str_replace(’>’ . $catParent->name . ‘‘, ‘ class=”active_category”>’ . $catParent->name . ‘‘, $text);
}
}
}

 
Kommentar von cbeier | 20.08.08, 09:50

Hi Dirk, nee, war meine Dummheit. Funktioniert wunderbar!!
Blöd, wenn man lokal andere Inhalte hat und online irgendwie bei nem Artikel alle Kategorien aktiviert hat… *pfeiff*


Trackbacks

 
Pingback von Highlight active categories (while browsing a post) | Kahi’s WordPress Notes | 27.07.08, 15:01

[...] Note: You’d maybe like to try Show Active Category plugin first. [...]

 
Trackback von Leonaut.com | 29.07.08, 13:53

Show Active Category…

With Worpress it is only possible to show the active category when you browsing the category archive. But when you are on a single post page you have a possibility to show to which category other categories the current blogpost belongs to. This small p…

 
Pingback von 12 New Plugins Set On 07/30 | Webabout.org | 31.07.08, 17:25

[...] Show Active Category [...]



Einen Kommentar schreiben zu
Wordpress Plugin: Show Active Category

Diese Tags sind erlaubt: <a href=""> <b> <code>


Andere interessante Themen

Beiträge aus der Kategorie projekte
Ähnliche Beiträge
screenshine.net