Hallo,
ich bin noch recht unerfahren mit Wordpress und versuche mich gerade einzuarbeiten und eine Homepage zu gestalten. Dabei habe ich folgendes Problem: Ich möchte die statischen Seiten in der Sidebar verlinken ohne das diese Seiten dann anschließend in der Menüleiste auftauchen. Man kann zwar die Seiten des Menüs in der Sidebar auschließen, aber umgekehrt scheint es nicht zu funktionieren. Gibt es dafür eine Lösung oder ein Plugin?
Bei Google habe ich mich schon wundgesucht und nichts gefunden.
Vorher habe ich versucht meine Sidebar mit einem WYSIWYG-Texteditor zu schreiben aber ich weiß nicht, wie ich anschließend die Links setzen soll, weil man ja nur zu Seiten verlinken kann, die schon existieren.
Sorry für meine Anfängerfragen.
LG
Lilgish
Wie Seiten aus der Menüleiste entfernen?
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Deine Menüleiste wird (je nach Theme) vermutlich in der header.php erstellt. Dort kannst du dann bestimmte Seiten ausschließen, wie in der FAQ beschrieben:
Wie kann ich bestimmte Seiten von der Auflistung ausschließen? « WordPress Deutschland FAQ -
Hallo marX,
ich habe schon versucht, den exclude Befehl der entsprechenden Seite hier
<?php wp_list_categories('show_count=1&title_li'); ?>
bei mir einzufügen aber es hat sich nichts verändert. Diese Zeile befindet sich bei mir in der sidebar.php. Im Header ist sie nicht. Vielleicht habe ich den Befehl auch nicht richtig eingefügt. Wo genau würdest Du sie einfügen?
Das Plugin von von Garrett Murphey habe ich auch ausprobiert aber dabei verschwindet die Seite die ich anlegen wollte nicht nur in der Menüleiste sondern auch in der Sidebar wo ich sie behalten möchte. Eine Möglichkeit die Seite nur aus der Menüleiste verschwinden zu lassen scheint es nicht zu geben.
Gibt es sonst noch andere Möglichkeiten eine Sidebar mit Seiten anzulegen die dann nicht in der Menüleiste auftauchen?
Gruß
Lilgish -
Schau mal in die Doku: Template Tags/wp list categories ? WordDoku
Dort siehst du auch, wie du exclude in das Template Tag einbinden kannst. -
Im Header ist sie nicht.
Kannst du die header.php vielleicht mal posten? Welches Theme verwendest du, wo gibts ne Demo/Download? -
Hallo,
ich habe den Befehl in sidebar.php so eingegeben das Seite Nr. 108 nicht mehr in der Menüleiste angezeigt werden soll und auf "aktualisieren" geklickt. Es verändert sich trotzdem nichts.
<?php wp_list_categories('exclude=108'); ?>
Funktioniert das ganze bei meinem Theme vielleicht nicht oder habe ich was falsch gemacht?
Gruß
Lilgish -
Die Header.php sieht so aus:
PHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/URL]"> <html xmlns="[URL="http://www.w3.org/1999/xhtml"]XHTML namespace[/URL]" <?php language_attributes(); ?>> <head profile="[URL="http://gmpg.org/xfn/11"]XFN 1.1 profile[/URL]"> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> » Blog Archive <?php } ?> <?php wp_title(); ?></title> <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats --> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/script.js"></script> <?php wp_head(); ?> </head> <body> <div class="Main"> <div class="Sheet"> <div class="Sheet-body"> <div class="Header"> <div> <table class="logo"> <tr><td class="logo-name"><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></td></tr> <tr><td class="logo-text"><?php bloginfo('description'); ?></td></tr> </table> </div> </div> <div class="nav"> <ul class="menu"> <?php art_menu_items(true); ?> </ul> <div class="l"></div><div class="r"><div></div></div></div>
Die Seite ist erstmal nur eine Testseite die ich mit einer Demoversion von Artisteer selbst entworfen habe. Daraus soll später einmal eine Seite werden um Fotos in verschiedenen Galerien zu präsentieren. Auf die Galerien soll man in der Sidebar links direkt zugreifen können.
Da ich von html nicht viel Ahnung habe, finde ich Artisteer sehr gut um sich eine Seite zu basteln. Ich werde es mir aber erst kaufen, wenn ich weiß, ob sich meine Vorstellungen damit umsetzen lassen oder nicht.
Die Testseite ist hier: Wordpress
Ich möchte gerne die Seite, die zur Zeit "Wassepflanzen" heißt aus der Menüleiste rausbekommen.
Gruß
Lilgish -
Hatte ganz überlesen, dass es sich um Seiten handelt. Dafür ist das Template-Tag wp_list_pages zuständig: Template Tags/wp list pages ? WordDoku
Und zu deiner header.php ... das hier dürfte in deinem Theme was zu sagen haben:
Postest du bitte auch noch mal die functions.php deines Themes. Aber bitte hier im Forum den Code-Button benutzen.
-
Kategorien != Seiten!
Hier versuchst du die Kategorie mit der ID 108 auszuschließen.
(Oh, da war wohl maxe schuld... :mrgreen:)Hier wird das Menü erstellt:
Die Funktion ist evtl. in der functions.php definiert. Ich kenne das Theme nicht. Kannst du die mal posten? Vielleicht finden wir dort was passendes. -
(Oh, da war wohl maxe schuld... :mrgreen:)
jupp, hab nur halb gelesen :oops: -
Hallo und danke soweit für die Hilfe.
Die funktions.php sieht so aus:
PHP
Alles anzeigen<?php if (function_exists('register_sidebars')) { register_sidebars(1, array( 'before_widget' => '<!--- BEGIN Widget --->', 'before_title' => '<!--- BEGIN WidgetTitle --->', 'after_title' => '<!--- END WidgetTitle --->', 'after_widget' => '<!--- END Widget --->' )); } function art_normalize_widget_style_tokens($content) { $bw = '<!--- BEGIN Widget --->'; $bwt = '<!--- BEGIN WidgetTitle --->'; $ewt = '<!--- END WidgetTitle --->'; $bwc = '<!--- BEGIN WidgetContent --->'; $ewc = '<!--- END WidgetContent --->'; $ew = '<!--- END Widget --->'; $result = ''; $startBlock = 0; $endBlock = 0; while (true) { $startBlock = strpos($content, $bw, $endBlock); if (false === $startBlock) { $result .= substr($content, $endBlock); break; } $result .= substr($content, $endBlock, $startBlock - $endBlock); $endBlock = strpos($content, $ew, $startBlock); if (false === $endBlock) { $result .= substr($content, $endBlock); break; } $endBlock += strlen($ew); $widgetContent = substr($content, $startBlock, $endBlock - $startBlock); $beginTitlePos = strpos($widgetContent, $bwt); $endTitlePos = strpos($widgetContent, $ewt); if ((false == $beginTitlePos) xor (false == $endTitlePos)) { $widgetContent = str_replace($bwt, '', $widgetContent); $widgetContent = str_replace($ewt, '', $widgetContent); } else { $beginTitleText = $beginTitlePos + strlen($bwt); $titleContent = substr($widgetContent, $beginTitleText, $endTitlePos - $beginTitleText); if (' ' == $titleContent) { $widgetContent = substr($widgetContent, 0, $beginTitlePos) . substr($widgetContent, $endTitlePos + strlen($ewt)); } } if (false === strpos($widgetContent, $bwt)) { $widgetContent = str_replace($bw, $bw . $bwc, $widgetContent); } else { $widgetContent = str_replace($ewt, $ewt . $bwc, $widgetContent); } $result .= str_replace($ew, $ewc . $ew, $widgetContent); } return $result; } function art_sidebar($index = 1) { if (!function_exists('dynamic_sidebar')) return false; ob_start(); $success = dynamic_sidebar($index); $content = ob_get_clean(); if (!$success) return false; $content = art_normalize_widget_style_tokens($content); $replaces = array( '<!--- BEGIN Widget --->' => "\r\n<div class=\"Block\">\r\n <div class=\"Block-body\">\r\n", '<!--- BEGIN WidgetTitle --->' => "<div class=\"BlockHeader\">\r\n", '<!--- END WidgetTitle --->' => "\r\n <div class=\"l\"></div>\r\n <div class=\"r\"><div></div></div>\r\n</div>\r\n", '<!--- BEGIN WidgetContent --->' => "\r\n<div class=\"BlockContent\">\r\n <div class=\"BlockContent-body\">\r\n", '<!--- END WidgetContent --->' => "\r\n </div>\r\n</div>\r\n", '<!--- END Widget --->' => "\r\n </div>\r\n <div class=\"Block-tl\"></div>\r\n <div class=\"Block-tr\"><div></div></div>\r\n <div class=\"Block-bl\"><div></div></div>\r\n <div class=\"Block-br\"><div></div></div>\r\n <div class=\"Block-tc\"><div></div></div>\r\n <div class=\"Block-bc\"><div></div></div>\r\n <div class=\"Block-cl\"><div></div></div>\r\n <div class=\"Block-cr\"><div></div></div>\r\n <div class=\"Block-cc\"></div>\r\n</div>\r\n" ); $bwt = '<!--- BEGIN WidgetTitle --->'; $ewt = '<!--- END WidgetTitle --->'; if ('' == $replaces[bwt] && '' == $replaces[$ewt]) { $startTitle = 0; $endTitle = 0; $result = ''; while (true) { $startTitle = strpos($content, $bwt, $endTitle); if (false == $startTitle) { $result .= substr($content, $endTitle); break; } $result .= substr($content, $endTitle, $startTitle - $endTitle); $endTitle = strpos($content, $ewt, $startTitle); if (false == $endTitle) { $result .= substr($content, $startTitle); break; } $endTitle += strlen($ewt); } $content = $result; } $content = str_replace(array_keys($replaces), array_values($replaces), $content); echo $content; return true; } function art_list_pages_filter($output) { $output = preg_replace('~<li([^>]*)><a([^>]*)>([^<]*)</a>~', '<li$1><a$2><span><span>$3</span></span></a>', $output); $re = '~<li class="([^"]*)(?: current_page_(?:ancestor|item|parent))+([^"]*)"><a ~'; $output = preg_replace($re, '<li class="$1$2"><a class="active" ', $output, 1); $output = preg_replace($re, '<li class="$1$2"><a ', $output); return $output; } function art_header_page_list_filter($pages) { $result = array(); if ($GLOBALS['menu_showSubmenus']) { foreach ($pages as $page) $result[] = $page; } else { foreach ($pages as $page) if (0 == $page->post_parent) $result[] = $page; } if ('page' == get_option('show_on_front')) { $pageOnFront = get_option('page_on_front'); $pageForPosts = get_option('page_for_posts'); if ($pageOnFront) { foreach ($result as $key => $page) { if (0 == $page->post_parent && $pageOnFront == $page->ID) { unset($result[$key]); break; } } } if (!$pageOnFront && $pageForPosts) { foreach ($result as $key => $page) { if (0 == $page->post_parent && $pageForPosts == $page->ID) { unset($result[$key]); break; } } } } return $result; } function art_menu_items($showSubmenus) { $GLOBALS['menu_showSubmenus'] = $showSubmenus; $homeMenuItemCaption = 'Home'; $isHomeSelected = null; if ('page' == get_option('show_on_front')) { $pageOnFront = get_option('page_on_front'); $pageForPosts = get_option('page_for_posts'); if ($pageOnFront) { $page = & get_post($pageOnFront); if (null != $page) $homeMenuItemCaption = $page->post_title; $isHomeSelected = is_page($page->ID); } elseif (!$pageOnFront && $pageForPosts) { $page = & get_post($pageForPosts); if (null != $page) $homeMenuItemCaption = $page->post_title; } } if (null === $isHomeSelected) $isHomeSelected = is_home(); echo '<li><a' . ($isHomeSelected ? ' class="active"' : '') . ' href="' . get_option('home') . '"><span><span>' . $homeMenuItemCaption . '</span></span></a></li>'; add_action('get_pages', 'art_header_page_list_filter'); add_action('wp_list_pages', 'art_list_pages_filter'); wp_list_pages('title_li='); remove_action('wp_list_pages', 'art_list_pages_filter'); remove_action('get_pages', 'art_header_page_list_filter'); } add_filter('comments_template', 'legacy_comments'); function legacy_comments($file) { if(!function_exists('wp_list_comments')) : // WP 2.7-only check $file = TEMPLATEPATH.'/legacy.comments.php'; endif; return $file; }
Ich habe gerade versucht, die Seite die ich ausschließen möchte so bei einzufügen mit dem Ergebnis, das in der Menüleiste ALLE Seiten verschwunden sind außer "Home"
wp_list_pages('title_li=exclude=108');
Wie füge ich den Befehl richtig ein so das nur 108 (Wasserpflanzen) verschwindet?
Gruß
Lilgish -
Wie füge ich den Befehl richtig ein so das nur 108 (Wasserpflanzen) verschwindet?
Ein "&" dazwischen:
Wegen der functions.php schau ich gleich mal... Nachtrag kommt gleich. ;-)Nachtrag: ... nee, passt schon, hast ja die richtige Stelle selbst gefunden, wenn ich dich richtig verstanden habe. :-D
-
So, hier bin ich wieder.
Habe es gerade noch einmal mit dem & probiert und jetzt funktioniert es.
Vielen Dank ! Ist wirklich ein tolles Forum hier.
Arbeite dann morgen an der Seite weiter.
LG
Lilgish -
Hallo,
Ich habe ein ähnliches Problem. Wenn ich eine Seite erstelle, wird diese sowohl in der Sidebar als auch oben im Header angezeigt. Jetzt will ich aber bestimmte Seiten ausschließlich nur im Header oder eben in der Sidebar. Das Impressum würde ich z.B. ganz gerne nur im Header haben.
Bin für Hilfe dankbar.
mfg
phil -
Dann schließ das Impressum in der Sidebar aus. Wurde ja hier im Thread zur Genüge durchgekaut, in meiner 1. Antwort gabs auch den Hinweis auf einen FAQ-Artikel.
-
Hi marX
Ok, habe es so versucht, wie es bei deinem Link beschrieben ist (mit exclude).
Bei der header.php klappt es, jedoch bei der sidebar_left.php nicht.PHP
Alles anzeigen<div class="sidebar_left column"> <div id="sidebars"> <ul> <?php /* Widgetized sidebar, if you have the plugin installed. */ if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?> [COLOR=Red][B]<?php wp_list_pages('title_li=<h2>Pages</h2>&exclude=2' ); ?>[/B][/COLOR] <li><h2>Archives</h2> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> </li> <?php wp_list_categories('show_count=1&title_li=<h2>Categories</h2>'); ?> <?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?> <?php wp_list_bookmarks(); ?> <li><h2>Meta</h2> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <li><a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a></li> <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li> <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress</a></li> <?php wp_meta(); ?> </ul> </li> <?php } ?> <?php endif; ?> </ul> </div> </div>Was könnte ich falsch gemacht haben? Vielen Dank für die Hilfe.
mfg
phil -
arbeitest du mit Widgets im Backend?? Falls ja, greift der Code der sidebar.php nicht. Entweder Widgets oder sidebar.php. Aber es gibt für fast alle Widgets auch den entsprechenden Code (wie du ja siehst).
-
Ja du hast Recht, ich arbeite mit Widgets. Wo finde ich denn die Datei, die ich dann bearbeiten muss? In dem wp-admin Ordner gibt es zwar eine widgets.php, allerdings finde ich da kein "wp_list_pages"[FONT=verdana].[/FONT]
Benutze folgendes Theme:
http://www.yourwptemplate.com/down1/mp_soccer.rarmfg
phil -
da gibt es keine Datei für. Welche Widgets benutzt du denn alle? Auf Dauer wäre es vielleicht besser, die ganzen Widgets rauszuschmeißen und sich in den Code der sidebar.php einzuarbeiten. Ist nicht wirklich schwer.
-
Beim "Seiten"-Widget kann man ebenfalls die auszuschließenden Seiten-IDs angeben.
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!