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.
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 );
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);
essaye ça:
<?php
if ( function_exists( 'sharing_display' ) ) {
echo sharing_display();
}
the_content();
?>
a travaillé pour moi