web-dev-qa-db-ja.com

BbPressフォーラムのパン粉の中のリンク 'Home'のテキストを変更するには?

私はWordPress用のbbPress 2.0.2フォーラムプラグインをインストールしたところで、リンクHomeのテキストをiGeekに変更したいと思っています(それ以外の場合は何か)。

したがって、ブレッドクラムのHome › CommunityiGeek › 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
its_me

文字列は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/にインストールされているか、別のアイテムにWord Homeが含まれている可能性があります。あなたはそれに触れたくない。

3
fuxia

ホームテキストのみをフィルタリングするための特別なフックはありません。したがって、ブレッドクラム全体をフィルタリングし、「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を実行している自分のサイトで正常にテストされています。

5
shea

使用しているテーマに応じて、2つの可能性があります。

1テンプレートファイルでbbp_breadcrumbまたはbbp_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ホームページとして使用するページを作成します(テーマがそのような機能をサポートしているかどうかによって異なります。ホームページに使用可能なページテンプレートがある場合は、それを選択します)。 Reading - >あなたのWP adminの設定に行き、 'Front page Displays'オプションで 'Static page'を選択し、あなたの 'iGeek'ページをフロントページとして選択してください。保存オプションとブレッドクラム内のリンクで名前を変更する必要があります。これはあなたのホームページが表示される方法を変えるかもしれず、テーマごとに変わることがあります。

最初の方法を試してみることをお勧めします。

編集:

私はそれをするための別の方法を見つけました - あなたのfunctions.phpの中に以下のコードを入れてください:

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

    return $args;
}

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

プラグインフックが存在しない場合の代替jQuery:

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