导语:叶子为了测试一下wordpress的论坛插件,安装了BBPRESS,然后遇到一个问题,那就是,论坛的面包屑导航的首页链接的文本内容怎么改都是英文的“HOME”,后来才发现是这么回事。
问题展示
我们可以看到论坛面包屑导航的首页文本是“Home”,叶子为了改掉它,找到它的调用函数bbp_get_breadcrumb()。
发现里面有一个 “Home”。
$pre_front_text = __( 'Home', 'bbpress' );
直接改动为“首页”,发现不起效,输出还是英文。
于是,叶子仔细读了这段代码。
function bbp_get_breadcrumb( $args = array() ) { // Turn off breadcrumbs if ( apply_filters( 'bbp_no_breadcrumb', is_front_page() ) ) return; // Define variables $front_id = $root_id = 0; $ancestors = $crumbs = $tag_data = array(); $pre_root_text = $pre_front_text = $pre_current_text = ''; $pre_include_root = $pre_include_home = $pre_include_current = true; /** Home Text *********************************************************/ // No custom home text if ( empty( $args['home_text'] ) ) { $front_id = get_option( 'page_on_front' ); // Set home text to page title if ( !empty( $front_id ) ) { $pre_front_text = get_the_title( $front_id ); // Default to 'Home' } else { $pre_front_text = __( 'Home', 'bbpress' ); } }
下面还是有很长的代码,篇幅有限就不贴出来了。
这个函数在/wp-content/plugins/bbpress/includes/common/template.php,大家可以自己去看。
叶子仔细读代码后发现这个home_text先是读取静态首页的页面标题,如果没有静态首页,才使用Home这个值。然后叶子想起,自己的静态首页页面的标题正好是Home,当时随手输入的英文单词,赶紧将静态首页的标题改为“首页”,好了,论坛的面包屑导航都成中文的了。
bbp_get_breadcrumb函数使用
下面是这个函数的使用例子:
$args = array( // HTML 'before' => '', 'after' => '', // 分隔符 'sep' => ' ', 'pad_sep' => 0, 'sep_before' => '', 'sep_after' => '', // Crumbs 'crumb_before' => '', 'crumb_after' => '', // 当前 'current_before' => '', 'current_after' => '', //添加一个首页的文本参数,不然面包屑导航会是英文的home 'home_text' => '首页', // Custom breadcrumbs (default will be removed) 'tmm_custom' => true, ); bbp_get_breadcrumb($args);
其实我们也可以用home_text来指定首页链接的文本内容。
结束
你学会了吗?