Kjapp og trygg hosting for Wordpress

Problemer med breadcrumb i temaet Twenty Fifteen

Mando23

Medlem
Hei!
Jeg prøver å installere breadcrumbs på en nettside som bruker temaet Twenty Fifteen fra Wordpress. Har installert utvidelsen "BreadCrump NavXT", og den virker kun på blogginnlegg - ikke på sider. Bruker nemlig en widget som gjør at man kan ha kategorier på sider.

Problemet blir da at det kommer kun opp: Hjem - navn på side på sider, kategori blir altså utelatt.

I tillegg så fungerer kun breadcrump som widget i sidebar, jeg ønsker å ha den på toppen av siden. Er dette mulig?

Takker for all hjelp!:)
 

Bjørnar

Gründer
Her er en sak jeg bruker, uten for mye dill.

Lim inn i functions.php:
Kode:
    function the_breadcrumb () {
    
    // Settings
    $separator  = '>';
    $id         = 'breadcrumbs';
    $class      = 'breadcrumbs';
    $home_title = 'Hjem';
    
    // Get the query & post information
    global $post,$wp_query;
    $category = get_the_category();
    
    // Build the breadcrums
    echo '<ul id="' . $id . '" class="' . $class . '">';
    
    // Do not display on the homepage
    if ( !is_front_page() ) {
        
        // Home page
        echo '<li class="item-home"><a class="bread-link bread-home" href="' . get_home_url() . '" title="' . $home_title . '">' . $home_title . '</a></li>';
        echo '<li class="separator separator-home"> ' . $separator . ' </li>';
        
        if ( is_single() ) {
            
            // Single post (Only display the first category)
            echo '<li class="item-cat item-cat-' . $category[0]->term_id . ' item-cat-' . $category[0]->category_nicename . '"><a class="bread-cat bread-cat-' . $category[0]->term_id . ' bread-cat-' . $category[0]->category_nicename . '" href="' . get_category_link($category[0]->term_id ) . '" title="' . $category[0]->cat_name . '">' . $category[0]->cat_name . '</a></li>';
            echo '<li class="separator separator-' . $category[0]->term_id . '"> ' . $separator . ' </li>';
            echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></li>';
            
        } else if ( is_category() ) {
            
            // Category page
            echo '<li class="item-current item-cat-' . $category[0]->term_id . ' item-cat-' . $category[0]->category_nicename . '"><strong class="bread-current bread-cat-' . $category[0]->term_id . ' bread-cat-' . $category[0]->category_nicename . '">' . $category[0]->cat_name . '</strong></li>';
            
        } else if ( is_page() ) {
            
            // Standard page
            if( $post->post_parent ){
                
                // If child page, get parents
                $anc = get_post_ancestors( $post->ID );
                
                // Get parents in the right order
                $anc = array_reverse($anc);
                
                // Parent page loop
                foreach ( $anc as $ancestor ) {
                    $parents .= '<li class="item-parent item-parent-' . $ancestor . '"><a class="bread-parent bread-parent-' . $ancestor . '" href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a></li>';
                    $parents .= '<li class="separator separator-' . $ancestor . '"> ' . $separator . ' </li>';
                }
                
                // Display parent pages
                echo $parents;
                
                // Current page
                echo '<li class="item-current item-' . $post->ID . '"><strong title="' . get_the_title() . '"> ' . get_the_title() . '</strong></li>';
                
            } else {
                
                // Just display current page if not parents
                echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '"> ' . get_the_title() . '</strong></li>';
                
            }
            
        } else if ( is_tag() ) {
            
            // Tag page
            
            // Get tag information
            $term_id = get_query_var('tag_id');
            $taxonomy = 'post_tag';
            $args ='include=' . $term_id;
            $terms = get_terms( $taxonomy, $args );
            
            // Display the tag name
            echo '<li class="item-current item-tag-' . $terms[0]->term_id . ' item-tag-' . $terms[0]->slug . '"><strong class="bread-current bread-tag-' . $terms[0]->term_id . ' bread-tag-' . $terms[0]->slug . '">' . $terms[0]->name . '</strong></li>';
        
        } elseif ( is_day() ) {
            
            // Day archive
            
            // Year link
            echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>';
            echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>';
            
            // Month link
            echo '<li class="item-month item-month-' . get_the_time('m') . '"><a class="bread-month bread-month-' . get_the_time('m') . '" href="' . get_month_link( get_the_time('Y'), get_the_time('m') ) . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</a></li>';
            echo '<li class="separator separator-' . get_the_time('m') . '"> ' . $separator . ' </li>';
            
            // Day display
            echo '<li class="item-current item-' . get_the_time('j') . '"><strong class="bread-current bread-' . get_the_time('j') . '"> ' . get_the_time('jS') . ' ' . get_the_time('M') . ' Archives</strong></li>';
            
        } else if ( is_month() ) {
            
            // Month Archive
            
            // Year link
            echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>';
            echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>';
            
            // Month display
            echo '<li class="item-month item-month-' . get_the_time('m') . '"><strong class="bread-month bread-month-' . get_the_time('m') . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</strong></li>';
            
        } else if ( is_year() ) {
            
            // Display year archive
            echo '<li class="item-current item-current-' . get_the_time('Y') . '"><strong class="bread-current bread-current-' . get_the_time('Y') . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</strong></li>';
            
        } else if ( is_author() ) {
            
            // Auhor archive
            
            // Get the author information
            global $author;
            $userdata = get_userdata( $author );
            
            // Display author name
            echo '<li class="item-current item-current-' . $userdata->user_nicename . '"><strong class="bread-current bread-current-' . $userdata->user_nicename . '" title="' . $userdata->display_name . '">' . 'Author: ' . $userdata->display_name . '</strong></li>';
        
        } else if ( get_query_var('paged') ) {
            
            // Paginated archives
            echo '<li class="item-current item-current-' . get_query_var('paged') . '"><strong class="bread-current bread-current-' . get_query_var('paged') . '" title="Page ' . get_query_var('paged') . '">'.__('Page') . ' ' . get_query_var('paged') . '</strong></li>';
            
        } else if ( is_search() ) {
        
            // Search results page
            echo '<li class="item-current item-current-' . get_search_query() . '"><strong class="bread-current bread-current-' . get_search_query() . '" title="Search results for: ' . get_search_query() . '">Search results for: ' . get_search_query() . '</strong></li>';
        
        } elseif ( is_404() ) {
            
            // 404 page
            echo '<li>' . 'Error 404' . '</li>';
        }
        
    }
    
    echo '</ul>';
    
}

Følgende i style.css:
Kode:
#breadcrumbs{
    list-style:none;
    margin:10px 0;
    overflow:hidden;
}
 
#breadcrumbs li{
    display:inline-block;
    vertical-align:middle;
    margin-right:15px;
}
 
#breadcrumbs .separator{
    font-size:18px;
    font-weight:100;
    color:#ccc;
}

Og settes inn i temaet der du vil ha breadcrumbs (pages/posts whatever):

Kode:
<?php the_breadcrumb(); ?>

Koden er greit nok kommentert, så det skal være greit å finne ut av. Se bilde for hvordan det er på en av sidene jeg bruker det på.
 

Vedlegg

  • Skjermbilde 2018-07-13 kl. 11.33.58.png
    Skjermbilde 2018-07-13 kl. 11.33.58.png
    33,2 KB · Sett: 6

Bjørnar

Gründer
Kanskje du skal gripe dette an litt anerledes? Hvorfor "kategorier på sider"? Du har sikkert en god grunn, men uten at vi vet grunnen, er det litt vanskelig å vite hva du egentlig prøver på – eller hvorfor du prøver på det :)
 

Mando23

Medlem
Kanskje du skal gripe dette an litt anerledes? Hvorfor "kategorier på sider"? Du har sikkert en god grunn, men uten at vi vet grunnen, er det litt vanskelig å vite hva du egentlig prøver på – eller hvorfor du prøver på det :)
Ja, burde selvfølgelig gitt mer info fra starten av! Har publisert over 200 sider på en nettside som fungerer som en wiki. Og vanlige innlegg publiserer også, men det er for å holde nettsiden relevant. Artiklene på sidene er kategorisert etter fag, og derfor er det greit å kunne ha det med i breadcrump. Håper jeg fikk forklart slik at det er forståelig.:) Takker for alle svar så langt!
 

Bjørnar

Gründer
Men vil det ikke bare være lettere å ha wikien som en kategori, og med poster (og evt underkategorier under der)?

Og da med evt egen mal for den kategorien, og de postene.

Vil ikke det løse det?
 

Mando23

Medlem
Men vil det ikke bare være lettere å ha wikien som en kategori, og med poster (og evt underkategorier under der)?

Og da med evt egen mal for den kategorien, og de postene.

Vil ikke det løse det?
Jo, mulig, men da blir jeg vel nødt til å endre på alle postene, og det vil jo være ekstremt tidskrevende tenker jeg?
 
Topp