mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 15:04 Benutzername: Passwort: Auto-Login

Thema: WordPress - ID für Menüelement aus Custom Fields [gelöst] vom 04.06.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> WordPress - ID für Menüelement aus Custom Fields [gelöst]
Autor Nachricht
therapiekind
Threadersteller

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Do 04.06.2009 22:43
Titel

WordPress - ID für Menüelement aus Custom Fields [gelöst]

Antworten mit Zitat Zum Seitenanfang

Grüezi alle,

muss mich leider und trotz intensivster Ablehnung mit WordPress auseinandersetzen und ein Layout in dieses irrsinnig undurchsichtige Teil bringen.

Ich habe im Kopfbereich ein Menü, das die statischen Seiten anzeigt. Jetzt hätte ich gerne jedem der Listenelemente eine ID verpasst, die ich in den "Custom Fields" der jeweiligen Seite festlege. Ist das möglich ohne im WP-Kern etwas abzuändern. Habe versucht, in der Funktion wp_page_menu() bzw. wp_list_pages() mit get_post_meta() rumzuspielen; natürlich ohne Erfolg.

Falls es keine saubere Lösung gibt, sind Vorschläge, die im Kern etwas ändern, natürlich gerne gesehen.

[gelöst]
Hab's letztendlich über 'ne eigene Funktion in der functions.php im Template gemacht. Die ursprüngliche Variante hierfür hatte ich irgendwo im Netz gefunden, find's leider nicht mehr.

Für Interessierte und die Nachwelt:
Code:
function nav_with_id()
{
    global $wpdb;

    $html = '<ul id="navigation">';

    // Query the database for all top-level page IDs, and store them in the $menuPages array under the [ID] sub-array
    $pages = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_parent=0 AND post_type='page' AND post_status='publish' ORDER BY menu_order ASC");

    // For each element in the $menuPages array, get the value from the [ID]-subarray to create the top-level menu and it's children
    foreach($pages as $page)
    {
        if (strlen(get_post_meta($page->ID, 'hide_in_navigation', TRUE)) > 0)
        {
            continue;
        }
        $page_title = get_the_title($page->ID);
        $page_permalink = get_permalink($page->ID);
        if (isset($page_title))
        {
            if (strlen(get_post_meta($page->ID, 'id', TRUE)) > 0)
            {
                $html_id = ' id="' . get_post_meta($page->ID, 'id', TRUE) . '"';
            }
            else
            {
                $html_id = '';
            }
            $html .= '<li' . $html_id . '>'.PHP_EOL;

            if (strlen(get_post_meta($page->ID, 'title', TRUE)) > 0)
            {
                $html_title = ' title="' . get_post_meta($page->ID, 'title', TRUE) . '"';
            }
            else
            {
                $html_title = '';
            }
            $html .= __('<a href="'.$page_permalink.'"' . $html_title . '>'.$page_title.'</a>'.PHP_EOL);

            // Run wp_list_pages to fetch any children, and put the HTML <LI> list results into $page_children as a string
            $page_children = wp_list_pages('title_li=&echo=0&depth=1&sort_column=menu_order&child_of='.$page->ID);

            // If results were returned, $page_children is now a string with HTML in it, so create a drop-down and echo out the HTML
            if($page_children){
                $html .= '<ul>'.PHP_EOL;
                $html .= $page_children . PHP_EOL;
                $html .= '</ul>'.PHP_EOL;
            }
            // Otherwise, let's call it a day... err, end the loop.
            $html .= '</li>'.PHP_EOL;
        }
    }

    $html .= '</ul>';
    echo $html;
}

[/gelöst]


Zuletzt bearbeitet von therapiekind am Sa 06.06.2009 02:33, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 05.06.2009 08:29
Titel

Antworten mit Zitat Zum Seitenanfang

http://codex.wordpress.org/Using_Custom_Fields
http://codex.wordpress.org/Function_Reference/get_post_meta
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
therapiekind
Threadersteller

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Fr 05.06.2009 21:00
Titel

Antworten mit Zitat Zum Seitenanfang

Hey, danke! Lächel So weit war ich aber leider schon.

Die Sachen sind nur auf Seitenvorlagen zu gebrauchen. Bei der Menügenerierung geben sie schlichtweg gar nix aus.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Wordpress - custom Frontend Plugin Pages
[solved]PHP/Wordpress: Ausgabe nur wenn custom field gesetzt
(gelöst)einzelne Verlinkung zu Audio-Player ?(gelöst)
(gelöst) Joomla! ? Schriftproblem (sehr merkwürdig) (gelöst)
Custom Shape Personen
custom locales unter *nix
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.