我无法弄清楚如何使用下面的代码分别修复www.example.com/blog/页面和每个博客文章的面包屑菜单。在博客页面上,它显示我的第一篇博文的标题,而不是我的页面标题(h1标签)。
当前结果:
主页>当你在旅途中时,5个简单的午餐想法
预期结果:
主页>博客
在我的博文中,面包屑结构没有显示正确的层次结构;它会跳过“博客”菜单项
当前结果:
主页>提高生产力的10种方法
期望的结果:
主页>博客>提高生产力的10种方法
将以下代码添加到主题functions.php文件中。
function breadcrumbs($id = null){
?>
<div id="breadcrumbs">
<a href="<?php bloginfo('url'); ?>">Home</a></span> >
<?php if(!empty($id)): ?>
<a href="<?php echo get_permalink( $id ); ?>" ><?php echo get_the_title( $id ); ?></a> >
<?php endif; ?>
<span class="breadcrumb_last"><?php the_title(); ?></span>
</div>
<?php }
添加到header.php
<?php breadcrumbs(); ?>
答案 0 :(得分:0)
根据面包屑代码的设置方式,您需要检查当前是否在博客页面上,如果是,请在最后一个面包屑项目之间添加文本。家里的。
这可以通过利用全局wp_query和函数is_simple()来完成。这已经过测试,似乎有效。
function breadcrumbs($id = null) {
$blogTitle = get_the_title( get_option('page_for_posts', true) );
global $wp_query; ?>
<div id="breadcrumbs">
<span><a href="<?php bloginfo('url'); ?>">Home</a></span>
<?php if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) { ?>
> <?php echo $blogTitle; ?></span>
<?php } ?>
<?php if ( is_single() ) { ?>
> <span><a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>"><?php echo $blogTitle; ?></a></span> >
<span><?php echo get_the_title(); ?></span>
<?php } ?>
<?php if (is_page() ) { ?>
> <span><?php echo get_the_title(); ?></span>
<?php } ?>
<?php if (is_search() ) { ?>
> <span> Search results: <?php echo the_search_query(); ?></span>
<?php } ?>
</div>
<?php } ?>
希望这有帮助!祝你好运!