Array Splice不保留“trail_end”

时间:2012-01-31 17:44:11

标签: php

我是新手,并且有一段Wordpress代码,其中有一个小故障。

很抱歉,如果我的问题很愚蠢,虽然我购买主题的支持似乎很快就会回答。

我会粘贴它,也许有人可以提供帮助。如果没人能解决问题,我会删除这个问题。

该代码会在site上的痕迹导航中添加一些更改。

我认为问题在于:

// Add the trail back on to the end.
$links[] = $trail['trail_end'];

// Add the new links, and the original trail's end, back into the trail.
array_splice( $trail, 1, count( $trail ) - 1, $links );

这两行代码应该在“Xpand Xtreme Pump”(在我的链接示例中)附近的面包屑末尾添加<span class="trail-end"></span>

以下是代码:

function woo_custom_breadcrumbs_trail_add_product_categories ( $trail ) {
    if ( ( get_post_type() == 'product' ) && is_singular() ) {
        global $post;

        $taxonomy = 'product_cat';

        $terms = get_the_terms( $post->ID, $taxonomy );
        $links = array();

        if ( $terms && ! is_wp_error( $terms ) ) {
            foreach ( $terms as $c ) {
                $parents = woo_get_term_parents( $c->term_id, $taxonomy, true, ', ', $c->name, array() );

                if ( $parents != '' && ! is_wp_error( $parents ) ) {
                    $parents_arr = explode( ', ', $parents );

                    foreach ( $parents_arr as $p ) {
                        if ( $p != '' ) { $links[] = $p; }
                    }
                }
            }

            // Add the trail back on to the end.
            $links[] = $trail['trail_end'];


            // Add the new links, and the original trail's end, back into the trail.
            array_splice( $trail, 1, count( $trail ) - 1, $links );

        }
    }

    return $trail;
} // End woo_custom_breadcrumbs_trail_add_product_categories()

1 个答案:

答案 0 :(得分:2)

试试这个:

...

// Wrap the trail_end with your span tag
$trail['trail_end'] = '<span class="trail-end">' . end($trail) . '</span>';

// Add the trail back on to the end.
$links[] = $trail['trail_end'];

...

请记住,这是一个黑客,我建议在模板中渲染面包屑。