无插件实现WordPress面包屑解决方案

对于面包屑导航的作用本站也不多说,反正使用的时候各有其中的用途,在之前我有分享到使用Yoast Breadcrumbs插件。但是,作为wordpress占用资源过大,能少用插件就不用插件,进来用无插件实现,刚才本站在整理网站时候找到这款无插件面包屑效果还是不错的,记录整理以便日后需要。

第一步,在Functions.php文件中添加

function get_breadcrumbs() { global $wp_query;

if ( !is_home() ){

// Start the UL echo \'

    \’; // Add the Home link echo \'
  • 网站首页
  • \’;

    if ( is_category() ) { $catTitle = single_cat_title( \”\”, false ); $cat = get_cat_ID( $catTitle ); echo \”

  • » \”. get_category_parents( $cat, TRUE, \” » \” ) .\”
  • \”; } elseif ( is_archive() && !is_category() ) { echo \”
  • » Archives
  • \”; } elseif ( is_search() ) {

    echo \”

  • » Search Results
  • \”; } elseif ( is_404() ) { echo \”
  • » 404 Not Found
  • \”; } elseif ( is_single() ) { $category = get_the_category(); $category_id = get_cat_ID( $category[0]->cat_name );

    echo \'

  • » \’. get_category_parents( $category_id, TRUE, \” » \” ); echo the_title(\’\’,\’\’, FALSE) .\”
  • \”; } elseif ( is_page() ) { $post = $wp_query->get_queried_object();

    if ( $post->post_parent == 0 ){

    echo \”

  • » \”.the_title(\’\’,\’\’, FALSE).\”
  • \”;

    } else { $title = the_title(\’\’,\’\’, FALSE); $ancestors = array_reverse( get_post_ancestors( $post->ID ) ); array_push($ancestors, $post->ID);

    foreach ( $ancestors as $ancestor ){ if( $ancestor != end($ancestors) ){ echo \'

  • » \’. strip_tags( apply_filters( \’single_post_title\’, get_the_title( $ancestor ) ) ) .\'
  • \’; } else { echo \'
  • » \’. strip_tags( apply_filters( \’single_post_title\’, get_the_title( $ancestor ) ) ) .\'
  • \’; } } } }

    // End the UL echo \”

\”; } }

第二步,在有需要添加面包屑插件的页面适当位置添加

第三步,样式定义

ul.breadcrumbs { list-style: none; padding: 0; margin: 0; font-size:12px; } ul.breadcrumbs li { float: left; margin: 0 5px 0 0; padding: 0; }

总结,通过上述三步就可以实现无插件面包屑效果,稍微的样式和布局可以修改。

推荐站内搜索:云服务器租用ip反查域名、便宜域名注册、云主机、韩国cn2服务器、虚拟主机香港主机、网站备案、免费永久虚拟主机、免费云主机、动态ip服务器、