function zum Zeichnen eines zufälligen Bildes aus der angegebenen Kategorie zerstört die Baustellenlogik – warum?

Ich versuche, eine function in der functions.php-Datei meines Kindthemas zu erstellen, die auf jeder Seite ein verknüpftes Bild zeichnet. Der Link muss eine class haben und das Bild muss auch eine class haben.

Das Bild soll eine zufällige Auswahl aus einer bestimmten Kategorie sein , die durch die ID dieser Kategorie spezifiziert wird. Es sollte auch Abmessungen von 240px x 160px haben.

Ich habe diese function zusammengeschustert, was ohne Fehler funktioniert, wenn ich die function nur mit einer PHP-Testseite eigenständig aufrufen werde . Wenn ich diese function jedoch in die functions.php meines Child-Theme setze und sie in die Datei header.php meines Child-Themes hake, wird die Logik der Site komplett zerstört: Ein Klick auf einen Link zu einem Post kommt nie dort an und alle möglichen Dinge gehen falsch.

In dem Moment, in dem ich die function aus der functions.php-Datei meines Child-Theme entferne, ist alles auf der Site wieder normal, also muss es etwas drastisch falsch machen, während es in der functions.php-Datei des Child-Themes resident ist. Ich wünschte nur, ich könnte sehen, was das ist!

Hier ist die function (“boxify” ist die class für den Bildlink und “top-right-image” ist die class für das Bild):

function draw_image() { $catg = '13'; $posts=query_posts('showposts=1&cat='.$catg); foreach( $posts as $post ) { if ( $images = get_children(array( 'post_parent' => 0, 'numberposts' => 1, 'orderby' => 'rand', 'post_mime_type' => 'image',))) { foreach( $images as $image ) { $attachmenturl=wp_get_attachment_url($image->ID); $attachmentimage=wp_get_attachment_image( $image->ID, array(240,160), 0, 'class=top-right-image' ); echo ''.$attachmentimage.''; } } else { echo ''; } } } add_action('do_draw_image', 'draw_image'); 

In der Datei header.php meines Child-Theme verwende ich:

 do_action('do_draw_image'); 

Warum funktioniert diese function wie erwartet alleine, zerstört aber die WP-Logik, wenn sie in der functions.php-Datei des untergeordneten Themas platziert wird? Was habe ich verpasst?

Solutions Collecting From Web of "function zum Zeichnen eines zufälligen Bildes aus der angegebenen Kategorie zerstört die Baustellenlogik – warum?"