wordpress breadcrumb - 主页>博客>岗位

时间:2018-05-15 02:51:01

标签: wordpress breadcrumbs

我非常感谢有关我的面包屑的任何建议。 2天的头痛,我只是想不通。

我有一个博客条目的静态页面,我想将这个网址包含在痕迹中。

mysite.com>博客>发布

现在我有“mysite.com>帖子”

最糟糕的情况是删除主网址并更改博客网址,因此这个痕迹至少会显示博客网址。

博客>交

以下代码工作得很好,但它不显示“博客网址”,因为它只调用“home”,但我想要包含一个回声或什么东西来显示回家后称为博客的静态页面(主页 - 博客 - 帖子)。

是否可以包含指向页面的链接,例如echo'Blog< / A>” ?或者甚至在面包屑之前移除家和地点< a href = />我的网站< / A> >> < a href = / blog>我的博客< / A> >>然后是其他的面包屑(帖子/类别)。

我的目标...... mysite.com>博客>发布

谢谢!

function my_breadcrumb() {
$sep = ' › ';
if (!is_front_page()) {

// Start the breadcrumb with a link to your homepage
    echo '<div class="x"><nav class="x">';
    echo '<a href="';
    echo get_option('home');
    echo '">';
    bloginfo('name');
    echo '</a>' . $sep;

// Check if the current page is a category, an archive or a single page. If so show the category or archive name.
    if (is_category() || is_single() ){
        the_category('title_li=');
    } elseif (is_archive() || is_single()){
        if ( is_day() ) {
            printf( __( '%s', 'text_domain' ), get_the_date() );
        } elseif ( is_month() ) {
            printf( __( '%s', 'text_domain' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'text_domain' ) ) );
        } elseif ( is_year() ) {
            printf( __( '%s', 'text_domain' ), get_the_date( _x( 'Y', 'yearly archives date format', 'text_domain' ) ) );
        } else {
            _e( 'Blog Archives', 'text_domain' );
        }
    }   
// If the current page is a single post, show its title with the separator
    if (is_single()) {
        echo $sep;
        the_title();
    }   
// If the current page is a static page, show its title.
    if (is_page()) {
        echo the_title();
    }
// if you have a static page assigned to be you posts list page. It will find    the title of the static page and display it. i.e Home >> Blog
    if (is_home()){
        global $post;
                    $page_for_posts_id = get_option('page_for_posts');
                    if ( $page_for_posts_id ) { 
                        $post = get_page($page_for_posts_id);
                        setup_postdata($post);
                        the_title();
                        rewind_posts();
                    }
                }
      echo '</nav></div>';
   }

}

//

  • 记。我很好奇为什么帖子页面没有显示为代码说它应该作为Home&gt;&gt;博客。 (我创建了一个名为blog的页面,然后设置 - 阅读 - 发布页面并使用home.php作为模板)。 (首页使用的是一个名为welcome的页面,然后是设置 - 阅读 - 首页,模板是front-page.php)。 **我正在制作自己的主题,我不想添加更多插件。

1 个答案:

答案 0 :(得分:1)

显示预期网址的面包屑,例如:mysite.com&gt;博客&gt;交

function my_breadcrumb() {
    $sep = ' > ';
    if (!is_front_page()) {

    // Start the breadcrumb with a link to your homepage
        echo '<div class="breadcrumbs">';
        echo '<a href="';
        echo get_option('home');
        echo '">';
        bloginfo('name');
        echo '</a>' . $sep;

    // Check if the current page is a category, an archive or a single page. If so show the category or archive name.
        if (is_category() || is_single() ){
           echo '<a href="'.get_site_url().'/blog">Blog</a>';
        } elseif (is_archive() || is_single()){
            if ( is_day() ) {
                printf( __( '%s', 'text_domain' ), get_the_date() );
            } elseif ( is_month() ) {
                printf( __( '%s', 'text_domain' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'text_domain' ) ) );
            } elseif ( is_year() ) {
                printf( __( '%s', 'text_domain' ), get_the_date( _x( 'Y', 'yearly archives date format', 'text_domain' ) ) );
            } else {
                _e( 'Blog Archives', 'text_domain' );
            }
        }

    // If the current page is a single post, show its title with the separator
        if (is_single()) {
            echo $sep;
            the_title();
        }

    // If the current page is a static page, show its title.
        if (is_page()) {
            echo the_title();
        }

    // if you have a static page assigned to be you posts list page. It will find the title of the static page and display it. i.e Home >> Blog
        if (is_home()){
            global $post;
            $page_for_posts_id = get_option('page_for_posts');
            if ( $page_for_posts_id ) { 
                $post = get_page($page_for_posts_id);
                setup_postdata($post);
                the_title();
                rewind_posts();
            }
        }
        echo '</div>';
    }
}

希望这适合你。