Wie würde man die in Jetpack enthaltenen Sharedaddy-Schaltflächen verschieben, um sie vor dem Inhalt eines Posts oder einer Seite zu platzieren, anstatt danach? Ich sehe, dass in sharing-service.php
die Funktion, die die Schaltflächen druckt, mit dem Filter-Hook_content verknüpft ist: add_filter( 'the_content', 'sharing_display', 19 );
Ich bin mir nicht sicher, was ich in meine functions.php-Datei schreiben soll, um das zu überschreiben. Ich gehe davon aus, dass ich irgendwie bewirken muss, dass die Ausgabe von sharing-service.php
dem the_content
vorangestellt und nicht angehängt wird.
Grundsätzlich steht in der Datei sharing-service.php in Zeile 480:
return $text.$sharing_content;
und es sollte sein
return $sharing_content.$text;
wenn Sie diese Datei jetzt ändern, werden Ihre Änderungen bei Aktualisierungen nicht beibehalten, sodass Sie diese Funktion (sharing_display) in die Datei functions.php kopieren und in etwas anderes umbenennen können, beispielsweise my_sharing_display
, und die Änderung dort vornehmen können.
Als nächstes müssen Sie die Filter entfernen, die das Plugin hinzufügt, und durch Ihre eigenen ersetzen, damit in Ihrer functions.php Folgendes hinzugefügt wird:
//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 );
der Haken "remove_filter" wird nicht entfernt, da der Parameter "priority" im Codex fehlt:
Wichtig: Um einen Hook zu entfernen, müssen die Argumente $ function_to_remove und $ priority übereinstimmen, als der Hook hinzugefügt wurde. Dies gilt sowohl für Filter als auch für Aktionen. Bei fehlgeschlagener Entfernung wird keine Warnung ausgegeben.
also ändere:
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();
?>
arbeitete für mich