custom post types - How to configure the output of breadcrumbled CPT UI

admin2025-05-31  0

Tell me how to set the full path in bread crumbs in CPT UI.

I have - Post type and taxonomy

The code prints in breadcrumbs - / Taxonomy / Name, how to do what would print Post type / Taxonomy / Name?

function the_breadcrumb() {
     global $post;
     if (!is_front_page()) {
        echo '<li><a href="';
        echo get_option('home');
        echo '">Главная';
        echo "</a></li> ";
        if (is_category() || is_single() || is_tax()) {

             $categories = wp_get_post_terms( $post->ID, "tip" );
             if (empty($categories)) {$categories = get_the_category();}
             echo '<li'.((is_single())?'><a href="'.
             esc_url(get_term_link($categories[0]->slug,$categories[0]->taxonomy)) . '">':' class="active">');
             echo esc_html($categories[0]->name);
             echo ((is_single())?'</a>':'').'</li>';
             if (is_single()) {
                echo '<li class="active">';
                the_title();
                echo "</li>";

              }
         } elseif (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
            if ( !isset( $parents ) ) $parents = null;
            foreach ( $anc as $ancestor ) {
                $parents .= '<li><a href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a></li>';

            }

            // Display parent pages
            echo $parents;

            // Current page
            echo '<li class="active">'. get_the_title() . '</li>';

       }
       else {

            // Just display current page if not parents
            echo '<li class = "active">'. get_the_title() . '</li>';

        }
     }
    else {
       echo 'Home';
    }
   }
 }

CPT UI Setting

Custom Post Type Permalinks

Tell me how to set the full path in bread crumbs in CPT UI.

I have - Post type and taxonomy

The code prints in breadcrumbs - / Taxonomy / Name, how to do what would print Post type / Taxonomy / Name?

function the_breadcrumb() {
     global $post;
     if (!is_front_page()) {
        echo '<li><a href="';
        echo get_option('home');
        echo '">Главная';
        echo "</a></li> ";
        if (is_category() || is_single() || is_tax()) {

             $categories = wp_get_post_terms( $post->ID, "tip" );
             if (empty($categories)) {$categories = get_the_category();}
             echo '<li'.((is_single())?'><a href="'.
             esc_url(get_term_link($categories[0]->slug,$categories[0]->taxonomy)) . '">':' class="active">');
             echo esc_html($categories[0]->name);
             echo ((is_single())?'</a>':'').'</li>';
             if (is_single()) {
                echo '<li class="active">';
                the_title();
                echo "</li>";

              }
         } elseif (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
            if ( !isset( $parents ) ) $parents = null;
            foreach ( $anc as $ancestor ) {
                $parents .= '<li><a href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a></li>';

            }

            // Display parent pages
            echo $parents;

            // Current page
            echo '<li class="active">'. get_the_title() . '</li>';

       }
       else {

            // Just display current page if not parents
            echo '<li class = "active">'. get_the_title() . '</li>';

        }
     }
    else {
       echo 'Home';
    }
   }
 }

CPT UI Setting

Custom Post Type Permalinks

Share Improve this question edited Mar 19, 2019 at 10:33 starspro asked Mar 17, 2019 at 15:17 starsprostarspro 33 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

The code prints in breadcrumbs - / Taxonomy / Name, how to do what would print Post type / Taxonomy / Name?

If I understood your question correctly, you want to prepend custom post type name to the existing breadcrumb... This modification to your code may help.

function the_breadcrumb() {
     global $post;
     if (!is_front_page()) {
        echo '<li><a href="';
        echo get_option('home');
        echo '">Главная';
        echo "</a></li> ";
        if (is_category() || is_single() || is_tax()) {

             $categories = wp_get_post_terms( $post->ID, "tip" );

             if (empty($categories)) {$categories = get_the_category();}



             //  Add your Post type here

            $postType = get_post_type_object(get_post_type());
            if ($postType) {
                 $post_type_title =  esc_html($postType->labels->singular_name);
                 $post_type_link = get_post_type_archive_link( get_post_type( ) );    

                 echo '<li><a href="'. $post_type_link . '">';
                 echo $post_type_title.'</a></li>';
             }




             // Rest of code ....
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1748624311a313604.html

最新回复(0)