Bewegen sharedaddy Tasten (in Jetpack) an den Anfang eines Beitrags?

Wie würde man die in Jetpack enthaltenen sharedaddy-Buttons verschieben, um sie vor dem Inhalt eines Posts oder einer Seite zu platzieren, statt danach? Ich sehe, dass in sharing-service.php die function, die die Schaltflächen druckt, an den Filter add_filter( 'the_content', 'sharing_display', 19 ); : add_filter( 'the_content', 'sharing_display', 19 );

Ich bin mir nicht sicher, was ich in meine functions.php-Datei einfügen soll, um das zu überschreiben. Ich the_content an, dass ich irgendwie veranlassen muss, dass die Ausgabe von der sharing-service.php dem the_content vorangestellt wird, anstatt an ihn the_content zu werden.

Solutions Collecting From Web of "Bewegen sharedaddy Tasten (in Jetpack) an den Anfang eines Beitrags?"

Im Grunde ist es Zeile 480 in Sharing-Service.php, wo es heißt:

 return $text.$sharing_content; 

und es sollte sein

 return $sharing_content.$text; 

Wenn Sie diese Datei jetzt ändern, werden Ihre Änderungen nicht mehr aktualisiert, so dass Sie diese function (sharing_display) in Ihre functions.php my_sharing_display und in etwas anderes umbenennen können, sagen Sie my_sharing_display und nehmen Sie die Änderung dort vor.

Als nächstes müssen Sie die Filter entfernen, die das Plugin hinzufügt und durch Ihre eigenen ersetzen. Fügen Sie in Ihrer functions.php hinzu:

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

Aktualisieren

Der remove_filter-Hook wird nicht wirklich entfernt, da ihm der Prioritätsparameter aus dem Codex fehlt:

Wichtig: Um einen Hook zu entfernen, müssen die Argumente $ function_to_remove und $ priority übereinstimmen, wenn der Hook hinzugefügt wurde. Dies gilt sowohl für Filter als auch für Aktionen. Es wird keine Warnung zum Entfernungserrors gegeben.

so ändern:

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

zu:

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

Versuche dies:

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

hat für mich gearbeitet

Eine andere Möglichkeit wäre, die Jetpack-Plugin-Dateien direkt zu bearbeiten. add_filters() Sie sowohl add_filters() für den the_content als auch the_excerpt von sharing-service.php.

Dann können Sie < ?php echo sharing_display(); ?> < ?php echo sharing_display(); ?> in der Schleife Ihres Themes, wo auch immer die Freigabeleiste sein soll.