• User Attivo

    alt="<?php the_title() ?>" non funziona

    Questo è il codice usato:
    [HTML]<a href='$post_permalink'><img class='imm-random' src='indirizzo-sito... .../timthumb.php?src=$image_src&h=91&w=91&zc=1' alt='<?php the_title(); ?>' /></a>[/HTML]

    Il link funziona, l'immagine viene mostrata correttamente, però non mostra il titolo dell'articolo all'interno del tag alt. Dove sbaglio?


  • Moderatore

    Ciao,
    hai inserito questo codice all'interno di un loop?

    Puoi postare il codice del loop completo per piacere? Oppure, indica l'url (non attivo) del tuo sito o blog dove hai questo problema, provo a darci uno sguardo.


  • User Attivo

    Il sito è quello in firma, il problema è presente sulle 9 immagini nella sidebar (quelle subito sotto l'adsense 300x250).

    PS: Le immagini vengono mostrate da un plug-in, non so esattamente come funziona però visto che mostra più di un immagine credo che il codice sia all'interno di un loop


  • Moderatore

    Se fai caso al codice che viene stampato lato client, compare la dicitura <?php the_title(); ?>.

    Questo vuol dire che quel codice php non è stato letto come tale dal server, ma è stato stampato a video come fosse semplice html.

    I motivi potrebbero essere veramente tanti. Per provare a restringere il campo mi puoi postare tutto il codice utilizzato dal plugin? E mi dici anche qual'è il plugin?


  • User Attivo

    il plugin è random image:
    [HTML]justinsomnia .org/2005/09/random-image-plugin-for-wordpress/[/HTML]

    Non riesco ad incollarti tutto il codice perché continua a trovarmi link attivi, comunque questa è la parte interessata:
    [HTML]
    // add img src to array to check for dups
    $image_srcs[] = $image_src;

      // grab the alt attribute and see if it exists, if not supply default
      preg_match("/alt\s*=\s*(\"|')(.*?)\\1/i", $image_element, $image_alt);
      $image_alt = $image_alt[2];
    
      if ($image_alt == "") {
        $image_alt = "random image";
      }
    
      $image_html = $image_template_html;
      $image_html = str_replace("%1", $post_title, $image_html);
      $image_html = str_replace("%2", "<a href='$post_permalink'><img class='imm-random' src='nome-sito/cartella/timthumb.php?src=$image_src&h=91&w=91&zc=1' alt='<?php the_title(); ?>' /></a>", $image_html);
      
      if ($image_alt == 'random image') {
        $image_html = str_replace("%3", '', $image_html);
      } else {
        $image_html = str_replace("%3", $image_alt, $image_html);
      }
    
      $image_html = str_replace("%4", $post_excerpt, $image_html);
    
      print $image_html;
    
      $image_count++;
      
      if ($image_count == $number_of_images) {
        return;
      } else {
        // print a linebreak between each successive image
        print "$inter_image_html\n";
      }
    

    [/HTML]


  • Moderatore

    Allora, così come è scritto non può funzionare.
    Mi sembra strano che l'autore di questo plugin non abbia notato un errore così evidente.

    Comunque, prova a sostituire:

    alt='<?php the_title(); ?>'

    Con questa:

    alt='$image_alt'

    Fammi sapere.


  • User Attivo

    Ho provato a fare come mi hai detto però così nel alt mi mette la stringa "random image", vedendo il codice sembrerebbe che non trova l'alt sull'immagine quindi inserisce quello di default ovvero "random image".

    Ho provato a sostituire random image con <?php the_title(); ?> però non funziona, me lo visualizza così com'è compresa apertura e chiusura del php.

    Il problema del plugin è che è stato "abbandonato" e quindi non viene aggiornato da qualche hanno, infatti per farlo funzionare a dovere ho dovuto far qualche modifica.


  • Moderatore

    Per far comparire l'alt devi inserirlo da pannello. Nel campo "Testo alternativo" e non "Titolo".


  • User Attivo

    Non c'è modo di "prendere" il titolo del post dov'è inserita l'immagine?


  • Moderatore

    Con quel plugin non credo.
    Ho scaricato il plugin, l'ho testato ed ho provato a cercare informazioni sul sito ufficiale. Ma non ho trovato nessuna informazione a riguardo.


  • User Attivo

    Prova così:

    alt=' . the_title() . '
    
    

  • User Attivo

    Anche così non funziona, mi ritrovo scritto nel alt la stessa stringa che mi hai indicato, sembra che lo riconosca come del normale testo.