web-dev-qa-db-fra.com

Déplacement des boutons sharedaddy (dans Jetpack) vers le haut d'un message?

Comment déplacer les boutons sharedaddy inclus dans Jetpack afin de les placer avant le contenu d'un message ou d'une page, plutôt qu'après? Je vois que dans sharing-service.php la fonction qui imprime les boutons est reliée au hook du filtre_content: add_filter( 'the_content', 'sharing_display', 19 );

Je ne sais pas quoi placer dans mon fichier functions.php pour remplacer cela, cependant. Je suppose que je dois en quelque sorte que le résultat de sharing-service.php soit ajouté au préfixe à the_content au lieu d'être ajouté à celui-ci.

2
Travis Northcutt

En gros, il s’agit de la ligne 480 dans le fichier sharing-service.php où il est indiqué

return $text.$sharing_content;

et il devrait être

return $sharing_content.$text;

maintenant, changer ce fichier ne conservera pas vos modifications sur les mises à jour, vous pouvez donc copier cette fonction (sharing_display) sur votre functions.php et la renommer en quelque chose de différent, par exemple my_sharing_display, et y apporter les modifications.

Ensuite, vous devez supprimer les filtres ajoutés par le plug-in et les remplacer par les vôtres. Dans votre functions.php, ajoutez:

//remove old
remove_filter( 'the_content', 'sharing_display');
remove_filter( 'the_excerpt', 'sharing_display');
//add new
add_filter( 'the_content', 'my_sharing_display', 19 );
add_filter( 'the_excerpt', 'my_sharing_display', 19 );

Mettre à jour

le hook remove_filter n'est pas en train de supprimer car il manque le paramètre prioritaire, du codex:

Important: pour supprimer un hook, les arguments $ function_to_remove et $ priority doivent correspondre lors de l'ajout du hook. Cela vaut pour les filtres et les actions. Aucun avertissement ne sera donné en cas d'échec de la suppression.

alors changez:

remove_filter( 'the_content', 'sharing_display');
remove_filter( 'the_excerpt', 'sharing_display');

à:

remove_filter( 'the_content', 'sharing_display',19);
remove_filter( 'the_excerpt', 'sharing_display',19);
5
Bainternet

essaye ça:

<?php 
if ( function_exists( 'sharing_display' ) ) {
    echo sharing_display();
}
the_content();
?>

a travaillé pour moi

2
Matt