page2cat
Hallo liebe Community,
nach einer Symbiose mit Google, so kommt es mir zumindest vor, bin ich endlich fündig geworden. Es gibt ein Plugin, welches zwar schon etwas älter ist aber mit 2.9.2 immer noch funktioniert, das die bisherigen Kategorien mit bestehenden Seiten bzw. eine Kategorie mit einer Seite verknüpfen kann.
Dieses wunderschöne Plugin nennt sicht page2cat und wurde von Pixline entwickelt. Leider konnte ich keine Dokumentation dazu finden. Das Plugin funktioniert halt wie folgt ... es hat eine eigene Tabelle in der DB namens page2cat. In dieser Tabelle gibt es folgende Felder ... eine eigene ID für die Nummerierung der Felder innerhalb der Tabelle und noch die beiden wichtigen Felder page_ID und cat_ID.
Wenn ich mir das ganze richtig vorstelle dann kann ich jetzt ja über das Auslesen der Kategorie, in der ich mich gerade befinde, die Page inkl. zugehörige Subpages aus der Tabelle posts herauslesen.
Meine Frage ist jetzt ... wie kann ich die Navigation der Seite so hinbiegen, dass wenn ich in der Kategorie bin, die Subpages der mit der Kategorie verknüpften Seite angezeigt werden?
Und zwar habe ich erst einmal die Kategorie ausgelesen für die weitere Verwendung. Diese wird in der Variable [FONT=Fixedsys][size=10]$current_category[/SIZE][/FONT] gespeichert.
$cat = get_the_category();
$cat = $cat[0];
$current_category = $cat->cat_ID;
-- Jetzt kommt der springende Punkt, ab hier habe ich keine Ahnung wie ich weiter vorgehen soll. Ich wollte mich einfach mal an der fertigen Struktur des K2 Themes orientieren, welche ich hier noch einmal reinstelle.
<?php /* Menu for subpages of current page (thanks to K2 theme for this code) */
global $notfound;
if (is_page() and ($notfound != '1')) {
$current_page = $post->ID;
while($current_page) {
$page_query = $wpdb->get_row("SELECT ID, post_title, post_status, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
$current_page = $page_query->post_parent;
}
$parent_id = $page_query->ID;
$parent_title = $page_query->post_title;
// if ($wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = '$parent_id' AND post_status != 'attachment'")) {
if ($wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = '$parent_id' AND post_type != 'attachment'")) {
?>
<div id="subnavi">
<ul>
<?php wp_list_pages('sort_column=menu_order&depth=1&title_li=&child_of='. $parent_id); ?>
</ul>
</div>
<?php } } ?>
Alles anzeigen
[FONT=Georgia][size=14]Meine Frage:[/SIZE][/FONT]
Wie kann ich dieses jetzt miteinander kombinieren? Ich habe es schon versucht, aber jetzt lädt der irgendwie nicht mehr das Menü. Die Formulierung müsste ja in etwa so sein:[INDENT][FONT=Times New Roman][size=12]Liste alle Seiten auf, dessen Elternelement die Seite ist, welche identisch mit der Seite ist aus der Tabelle page2cat in der Zeile wo die Kategorie ID der jetzigen Seite existiert.[/SIZE][/FONT]
[/INDENT]Das müsste es doch in etwa sein oder nicht? Falls mir jemand helfen könnte, wäre ich sehr dankbar. Sollte dieser Schritt geschafft sein, dann könnt Ihr Euch schon mal auf den nächsten Schritt freuen.
Und zwar möchte ich versuchen eine zusätzliche Klasse zu benutzen, die die Funktion des [FONT=Fixedsys].current_page_item[/FONT] übernimmt. Allerdings auch mit der Funktion [FONT=Fixedsys].current_page_parent[/FONT] und natürlich das Schmankerl [FONT=Fixedsys].current_page_category[FONT=Arial]. [/FONT][/FONT]Das wäre dann natürlich ideal. Aber dazu erstmal später.
An dieser Stelle schon einmal vielen Dank für Hilfe, falls sich jemand erbarmt mir zu helfen. :-)
Viele Grüße
meiva