Ich führe das YouTube Video Fetcher Plugin aus und es holt Youtube Videos und zeigt es auf deiner Webseite an. Anstatt das Video nach dem Post anzuzeigen, möchte ich den Code jedoch in einen benutzerdefinierten Container einhängen.
Hier ist die function im Plugin, mit der das Video nach dem Post angezeigt wird:
//The below function is used to display the video after the post. function append_the_video($content){ return $content.youtube_video(); } add_filter('the_content', 'append_the_video');
Ich habe versucht, die folgende Zeile auszuwechseln:
add_filter('the_content', 'append_the_video');
mit dieser Linie aber es funktioniert nicht:
add_action('my_custom_hook_name', 'append_the_video');
Etwas wie das, was du machst, sollte funktionieren, aber ich denke du hast ein paar Dinge falsch gemacht.
Zuerst klingt es so, als hättest du das Plugin gehackt. Tun Sie das nicht, entfernen Sie einfach den callback vom the_content
.
Fügen Sie in den functions.php
Ihres Themes functions.php
hinzu:
remove_filter('the_content', 'append_the_video');
Die function youtube_video()
hängt von der Variablen $post
. Das bedeutet, es handelt sich im Wesentlichen um eine “Nur-Schleife” -function. Sie können es nicht außerhalb des Loops verschieben, wenn Sie das versuchen. Es wird nicht korrekt funktionieren.
Sie können es an einem anderen Ort the_content
indem Sie the_content
einen eigenen Callback the_content
.
function my_prepend_the_video($content){ return youtube_video().$content; } add_filter('the_content', 'my_prepend_the_video');
Und natürlich können Sie bei Bedarf weitere Markups hinzufügen.