如何更改bbPress论坛面包屑中“主页”链接的文本?

时间:2012-03-06 作者:its_me

我刚刚为WordPress安装了bbPress 2.0.2论坛插件,并想更改链接的文本HomeiGeek (或其他任何事情)。

所以面包屑Home › Community 成为iGeek › Community (或类似的东西)。我该怎么做?

如果有帮助,以下是\\wp-content\\plugins\\bbpress\\bbp-includes\\bbp-common-template.php 确定文本的:

/** Home Text *********************************************************/

// No custom home text
if ( empty( $args[\'home_text\'] ) ) {

    // Set home text to page title
    if ( $front_id = get_option( \'page_on_front\' ) ) {
        $pre_front_text = get_the_title( $front_id );

    // Default to \'Home\'
    } else {
        $pre_front_text = __( \'Home\', \'bbpress\' );
    }
}
bbPress Breadcrumb

5 个回复
最合适的回答,由SO网友:fuxia 整理而成

字符串现在处于bbpress/includes/common/template-tags.php.

钩入bbp_no_breadcrumb, 为注册筛选器gettext 并更改文本:

add_filter( \'bbp_no_breadcrumb\', \'wpse_44597_change_home_text\' );

function wpse_44597_change_home_text( $translated, $original = \'\', $domain = \'\' )
{
    if ( \'bbp_no_breadcrumb\' === current_filter() )
    {
        add_filter( \'gettext\', __FUNCTION__, 10, 3 );
        return FALSE;
    }

    if ( \'Home\' === $original && \'bbpress\' === $domain )
    {
        remove_filter( current_filter(), __FUNCTION__ );
        return get_bloginfo( \'name\' );
    }

    return $translated;
}
过滤器开启的差异bbp_get_breadcrumb 是:bbp_get_breadcrumb 是一个完整的面包屑,如果不碰上错误的匹配项,很难找到主页的字符串。WordPress可能安装在/www/Home/wp/, 或者其他项目可能包含该词Home. 你不想碰那个。

SO网友:shea

没有专门的钩子只过滤主页文本,因此我们需要过滤整个面包屑并将“home”替换为“iGeek”:

function wpse_44597_custom_home_text_in_bbp_breadcrumb( $trail ) {
    return str_ireplace( \'Home\', \'iGeek\', $trail );
}
add_filter( \'bbp_get_breadcrumb\', \'wpse_44597_custom_home_text_in_bbp_breadcrumb\' );
以上示例已在我自己运行bbPress 2.2.3的站点上成功测试。

SO网友:Mateusz Hajdziony

根据您使用的主题,有两种可能性:

1定位呼叫bbp_breadcrumbbbp_get_breadcrumb 函数,并向函数添加参数,如下所示:

$args = array(
    \'home_text\' => \'iGeek\'
);
bbp_breadcrumb( $args );
// or bbp_get_breadcrumb( $args ), depending on which theme has been used in the first place
2创建一个您将用作主页的页面(取决于您的主题是否支持此类功能;如果主页有可用的页面模板,请选择它),将其命名为“iGeek”。进入WP管理员中的阅读->设置,在“首页显示”选项中选择“静态页面”,然后选择“iGeek”页面作为首页。保存选项,面包屑中的链接应更改其名称。这可能会改变主页的显示方式,并且会因主题而异。

我建议先试试前一种方法。

EDIT:

我找到了另一种方法来做到这一点-在您的functions.php:

function modify_breadcrumb_args() {
    $args[\'home_text\'] = \'iGeek\';

    return $args;
}

add_filter( \'bbp_before_get_breadcrumb_parse_args\', \'modify_breadcrumb_args\' );

SO网友:brasofilo

如果不存在插件挂钩,则可选择jQuery:

<script type="text/javascript">
    jQuery(document).ready( function($) {
        $(\'#bborg-crumbs a:first\').html(\'iGeek\');
    });
</script>

SO网友:Selva Balaji

我自己发现了如何更改面包屑url、alt和文本。您可以在bbp公共模板中更改代码。php(/wp content/plugins/bbpress/bbp includes/bbp common template.php)第1889行

 // Add the breadcrumb
        $crumbs[] = \'iGeek\';
        

结束

相关推荐

Wordpress and simple forums

这可能是一个恼人的问题,因为some pretty good answers 对于这个问题,但他们已经9个月大了,所以请你跟我说说。我想提供一些信息,为我指明正确的方向。我想为Wordpress项目集成一个简单的论坛。论坛必须具备:简单线程,类似于WPthreaded注释系统。只能将论坛登录页面显示为论坛首页。只能显示用户注册到的论坛或管理员分配给用户的论坛。在away中,流程是:单击论坛页面>;登录(>);只浏览一个特定论坛。能够显示每个用户的一些信息:电话、电子邮件等。无需前往wp admin