Breadcrumb ordered wrongly

时间:2012-09-01 作者:Arafin Shaon

/*Breadcrumb*/

if ( ! function_exists( \'seobreadcrumbs\' ) ) : 
function seobreadcrumbs() {
$separator = \'›\';
$home = \'Home\';
echo \'<div xmlns:v="http://rdf.data-vocabulary.org/#" class="seobreadcrumbs">\';
global $post;
echo \'  <span typeof="v:Breadcrumb">
You are Here :- <a rel="v:url" property="v:title" href="http://www.how2blog.in">Home</a>
</span> \';
$category = get_the_category();
if ($category) {
foreach($category as $category) {
echo $separator . "<span typeof=\\"v:Breadcrumb\\">
<a rel=\\"v:url\\" property=\\"v:title\\" href=\\"".get_category_link($category->term_id)."\\" >$category->name</a>
</span>";
}}
echo \'</div>\';}
endif;

function show_crumbs() {
if(is_single() || is_tag() || is_search() || is_404() || is_page() || is_category()) { ?>
<?php seobreadcrumbs(); ?>
<?php }}

add_action(\'thesis_hook_before_content\',\'show_crumbs\');
/* End*/
我用这些代码显示面包屑痕迹。我遇到的问题是,有时它会变得一团糟,让我澄清一下,假设我已将类别命名为

社交媒体父类别是Facebook

当我在facebook下发布帖子时,应该显示如下

# Social Media >> Facebook
但有时facebook排在第一位,社交媒体排在第二位,就像这样:

# Facebook >> Social Media
谷歌也以这种方式展示。

有人能帮我吗?

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

我最初的想法是,问题在这里:

$category = get_the_category();
如果get_the_category() 正在按反向层次顺序返回类别,然后可以执行此操作以将其重新按顺序排列:

$category = get_the_category();
$category = array_reverse( $category );
然而,我对此感到困惑:

但有时facebook排在第一位,社交媒体排在第二位。。。

如果它只是偶尔发生,而不是总是发生,那么我怀疑其他地方有问题。

结束

相关推荐

Breadcrumbs - get the author?

我有自己的函数breadcrumbs()。在其中,我调用is\\u author()来确定我是否在作者页面上。如果是真的,我想知道我在哪个作者的页面上。我尝试了\\u author(),但没有结果。我还查阅了WP codex。有人能帮忙吗?