wordpress breadcrumbs来自if`s切换

时间:2013-09-07 06:52:54

标签: php wordpress

我有以下代码的代码(在functions.php中)。它工作正常,但它有太多if语句。切换/案例可能更逻辑重新配置?我该怎么办?

function the_breadcrumb()
{
    if (!is_front_page())
    {
        echo '<li><a href="' . get_option( 'home' ) . '"> Home </a><li>';

        if (is_category() || is_single()) the_category(' ');
        if (is_page()) the_title();
        if (is_archive()) echo "<span class='slicer'></span>";
        if (is_single()) echo "<span class='slicer'></span>";
        if (!is_category() && is_single()) the_title();
    }
    else {
        echo 'Home';
    }
}

1 个答案:

答案 0 :(得分:0)

所以..我已经更新了我的功能,但我仍在思考 - 这不是普遍的。

function do_the_breadcrumb() {
echo '<ol class="breadcrumb">';
if (!is_home()) {
    echo '<li><a href="'.get_option('home').'"> Home </a></li>';
    if (is_category() || is_single()) {
        echo '<li>';
        the_category(' </li><li> ');
        if (is_single()) {
            echo "</li><li class='active'>";
            the_title();
            echo '</li>';
        }
    } elseif (is_page()) {
        echo '<li class="active">';
        echo the_title();
        echo '</li>';
    }
    elseif (is_tag()) { echo the_tags("<li class='active'>Following tags: &nbsp; </li>","&nbsp;<span class='slicer'></span>");}
    elseif (is_archive()) { echo "<li class='active'>Archive Page</li>"; }
    elseif (is_author()) { echo "<li class='active'>Author Archive</li>";}
    elseif (is_search()) { echo "<li class='active'>Search Page</li>";}
}
elseif (isset($_GET['paged']) && !empty($_GET['paged']))
{
    echo '<li><a href="'.get_option('home').'"> Home </a></li>'."<li class='active'>Blog Pages</li>";
}
else {
    echo"<li class='active'> Home </li>";
}
echo "</ol>";

}

相关问题