Support » Allgemeine Fragen » Sidenav ausgeben

  • Hallo,

    ich habe einen Code für eine Sidenav. Ich bräuchte nun bei dem <li>-Tag eine weitere Klasse z.B. menu-item die aber wie bei WordPress immer einen anderen Wert hat.

    Kann irgendjemand helfen?

    
    <?php
    function sidenavi_func( $atts, $content = null ) {
    global $post;
    
    $walker = array();
    $complete = false;
    
    $the_post = $post;
    
    while(!$complete) {
    array_push($walker, $the_post->ID);
    
    if($the_post->post_parent == 0) {
    $complete = true;
    }
    else {
    $the_post = get_post($the_post->post_parent);
    }
    }
    
    $content = recursive_side_navi($walker, $walker[count($walker) - 1], false, true);
    
    return $content;
    }
    function recursive_side_navi($walker, $pid, $expand_all = false, $start = false) {
    $wp_query = new WP_Query();
    $pages = $wp_query->query(array('post_type' => 'page',
    'post_parent' => $pid,
    'orderby' => 'menu_order',
    'posts_per_page' => -1,
    'order' => 'ASC'));
    
    $content = '';
    if(count($pages)) {
    if($start) {
    $content = '<ul class="sidenav">';
    $the_post = get_post($walker[count($walker) - 1]);
    $pid =
    $content.= '<li class="active">ID).'">'.$the_post->post_title.'
    
    <br />';
    }
    else {
    $content = '
    
    ';
    
    }
    foreach($pages as $page) {
    $active = false;
    foreach($walker as $item) {
    if($item == $page->ID) $active = true;
    }
    $content.= '<li'.($active ? ' class="active"' : '').'>ID).'">'.$page->post_title.'';
    if($expand_all || $active) {
    $content.= recursive_side_navi($walker, $page->ID);
    }
    $content.= '
    
    ';
    }
    $content.= '
    
    ';
    }
    
    return $content;
    }
    add_shortcode( 'sm_sidenavi', 'sidenavi_func' );
    
    vc_map( array(
    "name" => __("Sidebar Navigation"),
    "base" => "sm_sidenavi",
    "class" => "sidenavi",
    "category" => __('Content'),
    'admin_enqueue_js' => '',
    'admin_enqueue_css' => array(get_template_directory_uri().'/vc_extend/style.css'),
    'show_settings_on_create' => false,
    'custom_markup ' => '<div style="float: left; color: #d2e3ff; border: 1px solid #669fff; padding: 14px;"><p style="color: #669fff; padding: 30px 0; text-align: center;">Sidebar Navigation</p></div>'
    )
    );
    ?>
    

    Moderationshinweis: Code-Formatierung hinzugefügt. Bitte nutze künftig für längere Code-Beispiele Dienste wie Pastebin.com oder GitHub.
    Viele Grüße, Bego

    • Dieses Thema wurde geändert vor 7 Jahren, 7 Monaten von philne.
    • Dieses Thema wurde geändert vor 7 Jahren, 7 Monaten von philne.
    • Dieses Thema wurde geändert vor 7 Jahren, 7 Monaten von Bego Mario Garde.
    • Dieses Thema wurde geändert vor 7 Jahren, 7 Monaten von Bego Mario Garde.
    • Dieses Thema wurde geändert vor 7 Jahren, 7 Monaten von Bego Mario Garde.
  • Das Thema „Sidenav ausgeben“ ist für neue Antworten geschlossen.