Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    phpFlickr come Wordpress shortcode

    Ciao a tutti.
    Sto cercando di integrare le API di flickr come shortcode Wordpress, in particolare per tirar fuori le foto di un particolare set, da specificare nello shortcode di volta in volta.

    Vorrei semplicemente scrivere [flickr set="NUMERO"] e ottenere bella bella
    la lista delle foto.

    Se creo una pagina php con questo codice dentro (vi risparmio l'header), il tutto funziona a
    meraviglia:
    codice:
    <?php $photos = $f->photosets_getPhotos(NUMERO); ?>
    <?php foreach ($photos['photoset']['photo'] as $photo): ?>
    <div class="photos">
    [img]<?= $f->buildPhotoURL($photo, 'large') ?>[/img]" title="<?= $photo['title'] ?>" />
    </div>
    <?php endforeach; ?>
    Ora vorrei "spostarlo" laddove vado a definire lo shortcode:
    codice:
    function my_flickr( $atts ) {
    extract( shortcode_atts( array(
      'set' => ''), $atts ) );
    
                    *OVVERO QUI!*
    
    }
    add_shortcode( 'flickr', 'my_flickr' );
    Chi mi aiuta? : )

  2. #2
    Se provo in quelche maniera a buttare là dentro il codice, ottengo il seguente errore:

    Fatal error: Call to a member function photosets_getPhotos() on a non-object in...

  3. #3
    Va'... ce l'ho fatta.

    codice:
    function my_flickr( $atts ) {
    	extract( shortcode_atts( array(
    	  'set' => ''), $atts ) );
    	  
    		require_once("phpFlickr/phpFlickr.php");
    		$f = new phpFlickr("API_KEY"); // API
    		$user = "USER_ID";
    		$ph_sets = $f->photosets_getList($user);
    		$photos = $f->photosets_getPhotos($set);
    		foreach ($photos['photoset']['photo'] as $photo):
    		echo "<div class=\"photos\">[img] . $f->buildPhotoURL($photo, 'large') . [/img]</div>";
    		endforeach;
    }
    
    add_shortcode( 'flickr', 'my_flickr' );
    Evidentemente definire $f fuori dalla funzione non funzionava (nell'esempio funzionante era definito addirittura nell'<head> del sito, ma se si tratta di una funzione invece...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.