Inserisci iframe nelle pagine o nei post usando gli shortcode

shortcode-iframe

shortcode-iframeAvevo già trattato l’argomento iframe nell’articolo Come migliorare e personalizzare l’editor di WordPress, oggi utilizzeremo come soluzione alternativa gli shortcode tramite una funzione da integrare in functions.php.

Integrazione del codice

Apri come di consueto il file functions.php che trovi nella cartella del tuo tema e inserisci questo codice:

add_shortcode('iframe', array('iframe_shortcode', 'shortcode'));
class iframe_shortcode {
    function shortcode($atts, $content=null) {
          extract(shortcode_atts(array(
               'url'      => '',
               'scrolling'      => 'no',
               'width'      => '100%',
               'height'      => '500',
               'frameborder'      => '0',
               'marginheight'      => '0',
          ), $atts));
          if (empty($url)) return '<!-- Iframe: Non hai inserito un URL valido -->';
     return '<iframe src="'.$url.'" title="" width="'.$width.'" height="'.$height.'" scrolling="'.$scrolling.'" frameborder="'.$frameborder.'" marginheight="'.$marginheight.'"><a href="'.$url.'" target="_blank">'.$url.'</a></iframe>';
    }
}

Per integrare il nostro iframe nella pagina o nel post è sufficiente inserire nell’editor questo shortcode:

[iframe url="http://www.nomesito.it"]

Di default le impostazioni dell’iframe saranno quelle indicate nell’array inserito in functions.php, se vuoi personalizzarle senza andare a toccare il file ti basta inserirle nello shortcode come nell’esempio che segue:

[iframe url="http://www.nomesito.it" width="100" height="100" scrolling="yes" frameborder="1" marginheight="2"]

Fonte: http://wpsnipp.com/

20 thoughts on “Inserisci iframe nelle pagine o nei post usando gli shortcode

  1. utilissimo, l’ho messo in pratica ma se debbo inserire piu’ frame in pagine diverse non me li legge, anche se linko ovvio a file diversi, function.php decide.

  2. Ciao, io voglio aggiungere una finestra dentro i miei post.
    Copiando questo:

    add_shortcode(‘iframe’, array(‘iframe_shortcode’, ‘shortcode’));
    class iframe_shortcode {
    function shortcode($atts, $content=null) {
    extract(shortcode_atts(array(
    ‘url’ => ”,
    ‘scrolling’ => ‘no’,
    ‘width’ => ‘100%’,
    ‘height’ => ‘500’,
    ‘frameborder’ => ‘0’,
    ‘marginheight’ => ‘0’,
    ), $atts));
    if (empty($url)) return ‘‘;
    return ‘‘.$url.’‘;
    }
    }

    nella cartella functions.php mi crea questa finestra nel tema principale del tema.
    Poi non capisco dove devo copiare questo codice:
    [iframe url=”http://www.nomesito.it”]

    a questo punto il codice della cartella function.php è questo:

    add_shortcode(‘iframe’, array(‘iframe_shortcode’, ‘shortcode’));
    class iframe_shortcode {
    function shortcode($atts, $content=null) {
    extract(shortcode_atts(array(
    ‘url’ => ”,
    ‘scrolling’ => ‘no’,
    ‘width’ => ‘100%’,
    ‘height’ => ‘500’,
    ‘frameborder’ => ‘0’,
    ‘marginheight’ => ‘0’,
    ), $atts));
    if (empty($url)) return ‘‘;
    return ‘‘.$url.’‘;
    }
    }

    Grazie in anticipo spero di avere notizie il prima possibile

  3. Scusami ma non ci riesco ancora,
    1 ricapitolando devo copiare il primo codice nella funzione tema “function.php” nel editor di wordpress, ma devo modificare qualcosa?

    2 il secondo codice cioè [iframe url=”http://www.nomesito.it”] lo devo copiare nel editor di wordpress – articolo singolo “simple.php” o nell editor html dei singoli articoli?
    poi nel caso li devo mettere nell’editor wordpress li devo mettere tra ???
    3 poi ho un altro dubbio nel codice
    [iframe url=”http://www.nomesito.it”], se in ogni articolo voglio inserire una pagina diversa, la parte “www.nomesito.it” deve essere cambiata per ogni articolo credo.

    ti chiedo di avere pazienza ma non sono tanto ferrato in materia. grazie e scusa.

  4. Ciao Danilo, ottimo articolo!!!
    Ho solo un aspetto che non riesco a gestire… Pubblicando come articolo, funziona tutto perfettamente su pc,
    su smartphone (iPhone) o iPad la pagina inserita va a coprire le sidebar laterali, come si può correggere questo problema?

  5. ciao, problemino, vorrei inserire tramite iframe il mio sito osclass in WP, in anteprima tutto ok, vedo il mio sito inserito in una pagina del mio template, ma appena pubblico la pagina reindirizza a un:
    “Oops! That page can’t be found.
    It looks like nothing was found at this location. Maybe try one of the links below or a search?”
    Secondo voi può dipendere dall’hosting o che altro può essere?
    grazie in anticipo

  6. il plugin funziona perfettamente anche a me, ma è possibile che tra iframe quando compare Url della pagina all’interno del mio sito non si vede completamente ma devo usare lo scroll per vederla tutta? ho provato a settare
    ‘height’ => ‘1000’,

    ma non funziona … com’e possibile eppure errori nel codice e nel shortcode non ci sono ..

  7. Beh questo è inevitabile in alcuni casi, a seconda di che risoluzione hai e di come hai impostato i fogli di stile, se imposti meglio questi ultimi magari ci riesci.

  8. Ciao sto impazzendo dietro un iframe…
    In pratica io vorrei creare una lista di gallery testuale
    Es gallery1
    Gallery2
    Eccc
    E cliccando mi apra la gallery dentro iframe.

    Ho provato crenado delle pagine e mettendo il link alle stesse nell’iframe ma vorrei che non comparisse header e footer ma solo la galleria.

    Sapresti aiutarmi?

    PS le gallery usano shortcode
    Grazie Massimo

  9. Ciao Massimo, grazie per avermi scritto, quello dipende dalle pagine a cui punta il tuo iframe, se adatti le pagine togliendo l’header risolvi il problema. Se ti serve altro chiedi pure, grazie!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *