• 23-04-2018, 14:20:08
    #1
    Merhabalar, kendim WordPress ile tema giydirdim. Daha doğrusu yapmaya çalıştım. Şu an header da wp_nav_menu olayını kullanarak bu hale kadar getirdim. Ancak Merhaba Dünya! menüsü altındaki iki menünün css'lerini değiştirmem gerekiyor. Bunun için ne yapabilirim? Jquery ile cssleri değiştirebilmiştim (yani istediğim gibi olmuştu) ancak, jquery de sayfa yüklendikten sonra çalışıyor. Bu yüzden ilk önce bu hali (yani yukardaki resimdeki hali) yüklenip sonra cssler değişiyor. Benim direkt kodlardan değiştirebileceğim bir yol var mıdır? Yardımlarınıza ihtiyacım var.
  • 23-04-2018, 14:33:05
    #2
    Gold üye
    Kullanmak istediğniiz menünün html halini yazın ben wordpress halini paylaşayım.
  • 23-04-2018, 14:44:33
    #3
    uckan adlı üyeden alıntı: mesajı görüntüle
    Kullanmak istediğniiz menünün html halini yazın ben wordpress halini paylaşayım.
    <nav class="collapse">
        <ul class="nav nav-pills" id="mainNav">
            <li class="dropdown"><a class="dropdown-item dropdown-toggle" href="index.html">Home </a>
                <ul class="dropdown-menu">
                    <li class="dropdown-submenu"><a class="dropdown-item" href="index-classic.html">Classic</a>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="index-classic.html">Classic - Original</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li class=""><a class="nav-link" href="demos.html">Demos </a></li>
        </ul>
    </nav>
    Ana şablon bu şekilde olmalı hocam. Buna uydurmaya çalışıyorum.
    wp_nav_menu kısmında da şunları yazdım.


    <nav class="collapse">
    
    <?php
    wp_nav_menu( array(
    'theme_location' => 'menu-1',
    'container'         => 'ul',
    'menu_id'      => 'mainNav',
    'menu_class'        => 'nav nav-pills',
    ) );
    ?>
    
    
    </nav>
    Tabi bu wp_nav_menu yukardaki ekran görüntüsündeki gibi veriyor. Diğer cssleri görmüyor malum.



    @uckan; hocam biraz acemilik var inşAllah istediğiniz şekilde yollamışımdır kodları? Şimdiden kusura bakmayın.
  • 23-04-2018, 15:16:10
    #4
    Gold üye
    functions.php'ye
    class Main_Walker_Nav_Menu extends Walker_Nav_Menu {
    
    
    function start_lvl( &$output, $depth ){ //ul
    $indent = str_repeat("t",$depth);
    $submenu = ($depth > 0) ? ' dropdown-menu' : '';
    $output .= "n$indent<ul class="dropdown-menu$submenu">n";  }
    
    
    
    
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ){ //li a span
    
    
    $indent = ( $depth ) ? str_repeat("t",$depth) : '';
    
    
    $li_attributes = '';
    $class_names = $value = '';
    
    
    $classes = empty( $item->classes ) ? array() : (array) $item->classes;
    
    
    $classes[] = ($args->walker->has_children) ? 'dropdown' : '';
    $classes[] = ($item->current || $item->current_item_anchestor) ? 'active' : '';
    $classes[] = 'menu-item-' . $item->ID;
    if( $depth && $args->walker->has_children ){
    $classes[] = 'dropdown-submenu';
    }
    
    
    $class_names =  join(' ', apply_filters('nav_menu_css_class', array_filter( $classes ), $item, $args ) );
    $class_names = ' class="' . esc_attr($class_names) . '"';
    
    
    $id = apply_filters('nav_menu_item_id', 'menu-item-'.$item->ID, $item, $args);
    $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
    
    
    $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>';
    
    
    $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
    $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr($item->target) . '"' : '';
    $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
    $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr($item->url) . '"' : '';
    
    
    $attributes .= ( $args->walker->has_children ) ? ' class="dropdown-item dropdown-toggle"' : '';
    $attributes .= ( !$args->walker->has_children ) ? ' class="nav-link"' : '';
    
    
    $item_output = $args->before;
    $item_output .= '<a' . $attributes . '>';
    $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
    $item_output .= ( $depth == 0 && $args->walker->has_children ) ? '</a>' : '</a>';
    $item_output .= $args->after;
    
    
    $output .= apply_filters ( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
    
    
    }
    }

    Menü kodu
    <?php
    wp_nav_menu( 
    array(
     'theme_location' => 'geo-header',
     'container' => 'ul',
     'menu_id' => 'mainNav',
     'menu_class' => 'nav nav-pills',
     'walker' => new Main_Walker_Nav_Menu(),
     )
    );
    ?>


    farklı kullanımda sıkıntı çıkarabilir detaylı denemedim, bu örnekten yola çıkarak düzeltebilirsiniz.
  • 23-04-2018, 15:18:47
    #5
    uckan adlı üyeden alıntı: mesajı görüntüle
    functions.php'ye
    class Main_Walker_Nav_Menu extends Walker_Nav_Menu {
    
    
    function start_lvl( &$output, $depth ){ //ul
    $indent = str_repeat("t",$depth);
    $submenu = ($depth > 0) ? ' dropdown-menu' : '';
    $output .= "n$indent<ul class="dropdown-menu$submenu">n";  }
    
    
    
    
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ){ //li a span
    
    
    $indent = ( $depth ) ? str_repeat("t",$depth) : '';
    
    
    $li_attributes = '';
    $class_names = $value = '';
    
    
    $classes = empty( $item->classes ) ? array() : (array) $item->classes;
    
    
    $classes[] = ($args->walker->has_children) ? 'dropdown' : '';
    $classes[] = ($item->current || $item->current_item_anchestor) ? 'active' : '';
    $classes[] = 'menu-item-' . $item->ID;
    if( $depth && $args->walker->has_children ){
    $classes[] = 'dropdown-submenu';
    }
    
    
    $class_names =  join(' ', apply_filters('nav_menu_css_class', array_filter( $classes ), $item, $args ) );
    $class_names = ' class="' . esc_attr($class_names) . '"';
    
    
    $id = apply_filters('nav_menu_item_id', 'menu-item-'.$item->ID, $item, $args);
    $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
    
    
    $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>';
    
    
    $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
    $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr($item->target) . '"' : '';
    $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
    $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr($item->url) . '"' : '';
    
    
    $attributes .= ( $args->walker->has_children ) ? ' class="dropdown-item dropdown-toggle"' : '';
    $attributes .= ( !$args->walker->has_children ) ? ' class="nav-link"' : '';
    
    
    $item_output = $args->before;
    $item_output .= '<a' . $attributes . '>';
    $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
    $item_output .= ( $depth == 0 && $args->walker->has_children ) ? '</a>' : '</a>';
    $item_output .= $args->after;
    
    
    $output .= apply_filters ( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
    
    
    }
    }
    Menü kodu
    <?php
    wp_nav_menu(
    array(
     'theme_location' => 'geo-header',
     'container' => 'ul',
     'menu_id' => 'mainNav',
     'menu_class' => 'nav nav-pills',
     'walker' => new Main_Walker_Nav_Menu(),
     )
    );
    ?>
    farklı kullanımda sıkıntı çıkarabilir detaylı denemedim, bu örnekten yola çıkarak düzeltebilirsiniz.


    Çok teşekkürler hocam ilgi ve alakanıza. Ben de az önce öm atmıştım. Allah razı olsun.



    Hocam oldu ya süpersin tekrardan teşekkür ederim.
  • 23-04-2018, 15:32:24
    #6
    Gold üye
    Bir şey değil kolay gelsin.
  • 23-04-2018, 16:40:52
    #7
    uckan adlı üyeden alıntı: mesajı görüntüle
    Bir şey değil kolay gelsin.
    Hocam bir ricam olacak sizden ama hakkınızı helal edin öncelikle. Her şey yolunda çalışıyor ama ben şunu yaptırabilir miyim burada. Dropdown menu olanların href değerini href="#" yapmak istiyorum. Deneme yanılmalar yaptım ama beceremedim ne yazık ki. :/ Yani böyle bir işlev de ekleyebiliyor muyuz?
  • 23-04-2018, 16:53:24
    #8
    Gold üye
    class Main_Walker_Nav_Menu extends Walker_Nav_Menu {
     
     
    function start_lvl( &$output, $depth ){ //ul
    $indent = str_repeat("t",$depth);
    $submenu = ($depth > 0) ? ' dropdown-menu' : '';
    $output .= "n$indent<ul class="dropdown-menu$submenu">n";  }
     
     
     
     
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ){ //li a span
     
     
    $indent = ( $depth ) ? str_repeat("t",$depth) : '';
     
     
    $li_attributes = '';
    $class_names = $value = '';
     
     
    $classes = empty( $item->classes ) ? array() : (array) $item->classes;
     
     
    $classes[] = ($args->walker->has_children) ? 'dropdown' : '';
    $classes[] = ($item->current || $item->current_item_anchestor) ? 'active' : '';
    $classes[] = 'menu-item-' . $item->ID;
    if( $depth && $args->walker->has_children ){
    $classes[] = 'dropdown-submenu';
    }
     
     
    $class_names =  join(' ', apply_filters('nav_menu_css_class', array_filter( $classes ), $item, $args ) );
    $class_names = ' class="' . esc_attr($class_names) . '"';
     
     
    $id = apply_filters('nav_menu_item_id', 'menu-item-'.$item->ID, $item, $args);
    $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
     
     
    $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>';
     
     
    $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
    $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr($item->target) . '"' : '';
    $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
    $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr($item->url) . '"' : '';
    if ($args->walker->has_children ) {
    $attributes .= ! empty( $item->url ) ? ' href="#"' : '';
    }
     
     
    $attributes .= ( $args->walker->has_children ) ? ' class="dropdown-item dropdown-toggle"' : '';
    $attributes .= ( !$args->walker->has_children ) ? ' class="nav-link"' : '';
     
     
    $item_output = $args->before;
    $item_output .= '<a' . $attributes . '>';
    $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
    $item_output .= ( $depth == 0 && $args->walker->has_children ) ? '</a>' : '</a>';
    $item_output .= $args->after;
     
     
    $output .= apply_filters ( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
     
     
    }
    }
  • 23-04-2018, 16:58:44
    #9
    uckan adlı üyeden alıntı: mesajı görüntüle
    class Main_Walker_Nav_Menu extends Walker_Nav_Menu {
     
     
    function start_lvl( &$output, $depth ){ //ul
    $indent = str_repeat("t",$depth);
    $submenu = ($depth > 0) ? ' dropdown-menu' : '';
    $output .= "n$indent<ul class="dropdown-menu$submenu">n";  }
     
     
     
     
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ){ //li a span
     
     
    $indent = ( $depth ) ? str_repeat("t",$depth) : '';
     
     
    $li_attributes = '';
    $class_names = $value = '';
     
     
    $classes = empty( $item->classes ) ? array() : (array) $item->classes;
     
     
    $classes[] = ($args->walker->has_children) ? 'dropdown' : '';
    $classes[] = ($item->current || $item->current_item_anchestor) ? 'active' : '';
    $classes[] = 'menu-item-' . $item->ID;
    if( $depth && $args->walker->has_children ){
    $classes[] = 'dropdown-submenu';
    }
     
     
    $class_names =  join(' ', apply_filters('nav_menu_css_class', array_filter( $classes ), $item, $args ) );
    $class_names = ' class="' . esc_attr($class_names) . '"';
     
     
    $id = apply_filters('nav_menu_item_id', 'menu-item-'.$item->ID, $item, $args);
    $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
     
     
    $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>';
     
     
    $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
    $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr($item->target) . '"' : '';
    $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
    $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr($item->url) . '"' : '';
    if ($args->walker->has_children ) {
    $attributes .= ! empty( $item->url ) ? ' href="#"' : '';
    }
     
     
    $attributes .= ( $args->walker->has_children ) ? ' class="dropdown-item dropdown-toggle"' : '';
    $attributes .= ( !$args->walker->has_children ) ? ' class="nav-link"' : '';
     
     
    $item_output = $args->before;
    $item_output .= '<a' . $attributes . '>';
    $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
    $item_output .= ( $depth == 0 && $args->walker->has_children ) ? '</a>' : '</a>';
    $item_output .= $args->after;
     
     
    $output .= apply_filters ( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
     
     
    }
    }
    Çok sağol hocam mantığı az çok kavradım. Allah yardımcın olsun her konuda, Hayırlı işler, bol kazançlar diliyorum.