Hallo zusammen, bisher bin ich bei Wordpress eigentlich immer gut zurecht gekommen, aber für dieses Problem brauche ich eure Hilfe.
Normalerweise kann man Seiten aus der Hauptnavigation ja mit dem exclude-Befehl ausschließen. Leider bin ich jetzt aber an ein Template (Phantom 1.1)geraten, dass die standard Wordpress Funktion <?php wp_list_pages(); ?> durch eine eigene Funktion ersetzt:
function my_get_pages()
{
global $wpdb;
$query = "SELECT ID, post_title, post_name, post_content
FROM " . $wpdb->posts . "
WHERE post_status='static'
OR post_type='page'
ORDER BY menu_order ASC";
return $wpdb->get_results($query);
}
Zusätzlich gibt es folgende Funktion:
function my_excluded_pages()
{
$pages = my_get_pages();
$exclude = "";
if ($pages) {
foreach ($pages as $page) {
$page_id = $page->ID;
$page_name = $page->post_name;
if ($page_name == "archives" || $page_name == "about" || $page_name == "about_quick" || $page_name == "contact") {
$exclude .= ", ".$page_id;
}
}
$exclude = preg_replace("/^, (.*?)/","\\1",$exclude);
}
return $exclude;
}
Alles anzeigen
Die Funktion my_get_pages() wird ganz normal in der header.php aufgerufen und lädt die Seiten in die Navigation. Folgender Code steht dort:
<?php
$pages = my_get_pages();
if ($pages) {
foreach ($pages as $page) {
$page_id = $page->ID;
$page_title = $page->post_title;
$page_name = $page->post_name;
if ($page_name == "archives") {
// (is_page($page_id) || is_archive() || is_search() || is_single())?$selected = ' ':$selected='';
(is_page($page_id) || is_archive() || is_search() || is_single())?$selected = ' id="current"':$selected='';
echo "<li".$selected." class=\"normal\"><a href=\"".get_page_link($page_id)."\">Archives</a></li>\n";
}
elseif($page_name == "about") {
(is_page($page_id))?$selected = ' id="current"':$selected='';
echo "<li class=\"normal\"><a".$selected." href=\"".get_page_link($page_id)."\">About</a></li>\n";
}
elseif ($page_name == "contact") {
(is_page($page_id))?$selected = ' id="current"':$selected='';
echo "<li class=\"normal\"><a".$selected." href=\"".get_page_link($page_id)."\">Contact</a></li>\n";
}
elseif ($page_name == "about_short") {/*ignore*/}
else {
(is_page($page_id))?$selected = ' id="current"':$selected='';
echo "<li class=\"normal\"><a".$selected." href=\"".get_page_link($page_id)."\">$page_title</a></li>\n";
}
}
}
?>
Alles anzeigen
Wie kann ich denn jetzt Seiten ausschließen? Ich habe schon versucht my_excluded_pages() irgendwie aufzurufen, bzw. einzubauen, aber ich habs nicht geschafft.
Vielen Dank schon mal für eure Zeit :)