it-swarm.com.de

Wie ändere ich den Text des Links? 'Home' im BbPress Forum Breadcrumb?

Ich habe gerade das bbPress 2.0.2-Forum-Plugin für WordPress installiert und möchte den Text des Links Home in iGeek ändern (oder was auch immer).

So wird der Breadcrumb Home › Community zu iGeek › Community (oder so ähnlich). Wie mache ich das?

Falls es hilft, ist dies der Code in \wp-content\plugins\bbpress\bbp-includes\bbp-common-template.php , der den Text bestimmt:

/** 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

Die Zeichenfolge befindet sich jetzt in bbpress/includes/common/template-tags.php.

Hängen Sie sich in bbp_no_breadcrumb ein, registrieren Sie einen Filter für gettext und ändern Sie den Text:

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;
}

Der Unterschied zu einem Filter für bbp_get_breadcrumb ist: bbp_get_breadcrumb ist die vollständige Brotkrume, und es ist wirklich schwierig, die Zeichenfolge für die Homepage zu finden, ohne die falschen Übereinstimmungen zu berühren. WordPress ist möglicherweise in /www/Home/wp/ installiert, oder ein anderes Element enthält möglicherweise die Word Home. Das willst du nicht anfassen.

3
fuxia

Es gibt keinen speziellen Haken, mit dem nur der Ausgangstext gefiltert werden kann. Daher müssen wir den gesamten Breadcrumb filtern und "Home" durch "iGeek" ersetzen:

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' );

Das obige Beispiel wurde erfolgreich auf meiner eigenen Site getestet, auf der bbPress 2.2.3 ausgeführt wird.

5
shea

Es gibt zwei Möglichkeiten, je nachdem, welches Thema Sie verwenden:

1 Suchen Sie den Aufruf der Funktion bbp_breadcrumb oder bbp_get_breadcrumb in Ihren Vorlagendateien und fügen Sie Ihrer Funktion folgende Argumente hinzu:

$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 Erstellen Sie eine Seite, die Sie als Startseite verwenden möchten (abhängig davon, ob Ihr Design diese Funktionalität unterstützt oder nicht; wenn eine Seitenvorlage für die Startseite verfügbar ist, wählen Sie sie aus), und nennen Sie sie "iGeek". Gehen Sie zu Reading -> Settings in Ihrem WP Admin, wählen Sie 'Static page' in der Option 'Front page displays' und wählen Sie Ihre 'iGeek'-Seite als Startseite. Optionen speichern und der Link in Breadcrumb sollte seinen Namen ändern. Dies kann die Darstellung Ihrer Homepage ändern und von Thema zu Thema variieren.

Ich schlage vor, zuerst die erstere Methode auszuprobieren.

BEARBEITEN:

Ich habe eine andere Methode gefunden, um das zu tun - fügen Sie den folgenden Code in Ihren functions.php ein:

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

    return $args;
}

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

jQuery-Alternative, wenn kein Plugin-Hook vorhanden ist:

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