web-dev-qa-db-fra.com

Comment changer le texte du lien 'Home' dans le forum bbPress fil d'Ariane?

Je viens d'installer le plugin de forum bbPress 2.0.2 pour WordPress, et j'aimerais changer le texte du lien Home en iGeek (ou toute autre chose, d'ailleurs).

Donc le fil d'Ariane Home › Community devient iGeek › Community (ou quelque chose comme ça). Comment je fais ça?

Si cela vous aide, c’est le code dans \wp-content\plugins\bbpress\bbp-includes\bbp-common-template.php qui détermine le texte:

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

La chaîne est maintenant dans bbpress/includes/common/template-tags.php.

Accrocher dans bbp_no_breadcrumb, enregistrer un filtre pour gettext et changer le texte:

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

La différence par rapport à un filtre sur bbp_get_breadcrumb est la suivante: bbp_get_breadcrumb correspond à la miette complète, et il est très difficile de trouver la chaîne de caractères pour la page d'accueil sans toucher aux mauvais résultats. WordPress peut être installé dans /www/Home/wp/ ou un autre élément peut contenir Word Home. Vous ne voulez pas toucher à cela.

3
fuxia

Il n'y a pas de crochet spécifique pour filtrer le texte d'accueil uniquement. Nous devons donc filtrer le fil d'Ariane entier et remplacer "Home" par "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' );

L'exemple ci-dessus a été testé avec succès sur mon propre site exécutant bbPress 2.2.3.

5
shea

Il existe deux possibilités, en fonction du thème que vous utilisez:

1 Localisez l’appel à la fonction bbp_breadcrumb ou bbp_get_breadcrumb dans vos fichiers de modèle et ajoutez des arguments à votre fonction, comme suit:

$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 Créez une page que vous utiliserez comme page d'accueil (selon la météo, si votre thème prend en charge cette fonctionnalité ou non; s'il existe un modèle de page disponible pour la page d'accueil, sélectionnez-le), nommez-le "iGeek". Allez à Lecture -> Paramètres dans votre WP admin, sélectionnez "Page statique" dans l'option "Affichages de page avant" et sélectionnez votre page "iGeek" comme page de couverture. Enregistrer les options et le lien dans le fil d'Ariane devrait changer de nom. Cela peut changer la façon dont votre page d'accueil est affichée et peut varier d'un thème à l'autre.

Je suggère d'essayer d'abord la méthode précédente.

MODIFIER:

J'ai trouvé une autre méthode pour le faire - mettez le code ci-dessous dans votre functions.php:

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

    return $args;
}

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

alternative jQuery si aucun hook de plug-in n'existe:

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