Support » Allgemeine Fragen » Undefined variable: thumblist

  • flicky76

    (@flicky76)


    Hallo WordPress-Forum,

    ich habe bei meinen Beiträgen die folgende Fehlermeldung. Ich vermute, dass es mit den PHP update zu tun hat- nutze im MOment die 7.0.
    Könnte mir jemand helfen, den folgenden Fehler zu beheben bzw. mir zu erklären, was hier das Problem ist?

    Notice: Only variables should be assigned by reference in /home/www/wp-content/themes/kuchen-hit/functions.php on line 117

    Notice: Undefined variable: thumblist in /home/www/wp-content/themes/kuchen-hit/functions.php on line 123

    Die relevanten Zeilen aus der function.php sind hier:
    function show_all_thumbs() {
    global $post;
    $post = get_post($post);

    /* image code */
    $images =& get_children( ‚post_type=attachment&post_mime_type=image&output=ARRAY_N&orderby=menu_order&order=ASC&post_parent=‘.$post->ID);
    if($images){
    foreach( $images as $imageID => $imagePost ){

    unset($the_b_img);
    $the_b_img = wp_get_attachment_image($imageID, ‚full‘, false);
    $thumblist .= “.$the_b_img.“;

    }
    }
    return $thumblist;
    }

    danke für Eure HIlfe

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • bscu

    (@bscu)

    Ich vermute, dass du eine alte WordPress-Version benutzt und eventuell auch ein altes Theme, die beide Probleme mit PHP 7 haben, ein Update wäre da nötig.

    flicky76

    (@flicky76)

    Vielen Dank.

    WP ist aktuell, Php Version ist bei 7.0- vielleicht test ich mal die 7.3.
    Das Problem ist wohl das Theme selbst, das wurde individuell in 2014 für uns programmiert, da gibt es leider kein Update.

    Moderator Bego Mario Garde

    (@pixolin)

    An die Variable $thumblist soll mit $thumblist .= “.$the_b_img.“; etwas angehangen werden, obwohl die Variable vorher überhaupt nicht vorkommt. Darauf wirst du hingewiesen („Notice“). Du kannst jetzt entweder versuchen, die Variable vorher einzufügen:

    function show_all_thumbs() {
    global $post;
    $thumblist = '';
    $post = get_post($post);
    …

    oder du stellst den Fehlerhinweis ab (was natürlich nur kosmetisch ist und den Fehler nicht behebt):

    /**
     * This will log all errors notices and warnings to a file called debug.log in
     * wp-content only when WP_DEBUG is true. if Apache does not have write permission,
     * you may need to create the file first and set the appropriate permissions (i.e. use 666).
     */
    define( 'WP_DEBUG', true ); // Or false
    if ( WP_DEBUG ) {
        define( 'WP_DEBUG_LOG', true );
        define( 'WP_DEBUG_DISPLAY', false );
        @ini_set( 'display_errors', 0 );
    }
    

    (Quelle: https://wordpress.org/support/article/editing-wp-config-php/#configure-error-logging)

    Wenn du Änderungen am Theme vornimmst, solltest du vorher ein Backup machen und sicherstellen, dass du per FTP auf die Dateien zugreifen kannst, wenn ein fataler Programmierfehler auftritt.

    bscu

    (@bscu)

    Es ist ja fast zu befürchten, dass das Theme noch andere Macken bzw. mit PHP 7.x Probleme hat, wenn es 2014 erstellt wurde

    Moderator Bego Mario Garde

    (@pixolin)

    Das ist wohl wahr. Und die Fehlerhinweise ausblenden wie gesagt nur Kosmetik, dick aufgetragen.

    flicky76

    (@flicky76)

    Hallo Mario,

    habe den ersten Ansatz verfolgt- die Fehlermeldung ist jetzt um die Hälfte verringert.
    Dies blieb übrig:

    Notice: Only variables should be assigned by reference in /home/www/wp-content/themes/kuchen-hit/functions.php on line 118″

    Hier ist der relevante Code dafür.
    /* image code */
    $images =& get_children( ‚post_type=attachment&post_mime_type=image&output=ARRAY_N&orderby=menu_order&order=ASC&post_parent=‘.$post->ID);
    if($images){
    foreach( $images as $imageID => $imagePost ){

    Moderator Bego Mario Garde

    (@pixolin)

    Ändere das mal in $images = get_children(… (ohne das &-Zeichen).

    Aber wie @bscu schon richtig vermutet hat, flickst du an einer Stelle und hast dann den Rohrbruch an der nächsten.

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)