Sample WebThumb – many

The code used is:

<div class="webthumb-gallery-box"><div class="webthumb-gallery">
10.<a class="webthumb-set" title=" " href="http://webthumb.bluga.net/home">


    http://faina09.it/wp-content/uploads/webthumb/webthumb_bluga_net_home[medium].png


</a></div></div>
									

with some css & js:

<style type="text/css">
.webthumb-gallery-overview {clear: both;  display: block !important;  margin-top: 10px;  overflow: hidden;  width: 100%;}
.webthumb-gallery-box {float: left; width: 100px;}
.webthumb-gallery {float: left; margin-right: 5px; text-align: center; width: 90px;}
.webthumb-gallery img {background-color: #FFFFFF; border: 1px solid #A9A9A9; display: block; margin: 4px 0 4px 5px; padding: 4px; position: relative;  max-height:70px;}
.webthumb-gallery img:hover { background-color: #A9A9A9;}
.webthumb-set {}
</style>
									

Sample WebThumb – more

… and many webthumbs.

http://faina09.it/wp-content/uploads/webthumb/faina09_it_[medium].png
http://faina09.it/

1. [ wpf-webthumb ]

Atletica Aldo Moro - Paluzza
http://faina09.it/wp-content/uploads/webthumb/www_aldomoropaluzza_it[medium].png

2. {wpf-webthumb url=www.aldomoropaluzza.it showurl=0 showsml=1 label=”Atletica Aldo Moro – Paluzza”}

http://faina09.it/wp-content/uploads/webthumb/www_aldomoropaluzza_it[tiny].png
http://www.aldomoropaluzza.it

3. {webthumb size=tiny url=http://www.aldomoropaluzza.it showurl=1 showsml=0}

Gruppo Sportivo Natisone
http://faina09.it/wp-content/uploads/webthumb/www_gsnatisone_it[small].png
http://www.gsnatisone.it

4. {webthumb url=www.gsnatisone.it size=small showsml=1 label=”Gruppo Sportivo Natisone”}

http://faina09.it/wp-content/uploads/webthumb/www_uniud_it[big].png

5. {webthumb size=big url=www.uniud.it showurl=0}

http://faina09.it/wp-content/uploads/webthumb/www_greenvolley_com_[medium].png
http://www.greenvolley.com/

6. {webthumb size=medium url=http://www.greenvolley.com/ showurl=1 showsml=1 title=”Greenvolley Faedis”}

maxdays

Come noto in WP vale la regola:
vengono visualizzati – per ordine di data decrescente – i primi articoli in evidenza e poi i primi articoli di qualsiasi categoria, fino al totale specificato in impostazioni lettura.

Con poche righe di codice è possibile aggiungere un parametro in modo da far “scadere” gli articoli dalla home page dopo un certo numero di giorni; se il parametro non è impostato – o è impostato ad un valore non numerico – non scadono, cioè si comportano secondo la regola sopra riportata.
Se invece il parametro indica che è già passato per un determinato articolo il numero di giorni massimo di permanenza, questo non viene più visualizzato, diminuendo il numero totale di articoli visualizzati.

Per visualizzare e impostare il parametro si deve innanzitutto verificare che sia spuntato “Campi personalizzati” in “Impostazioni schermo”:

e a questo punto si può poi inserire il numero di giorni nel parametro maxdays; in questo esempio è di 5 giorni:

Questo è il codice, inserito all’interno del loop principale in index.php:

<?php /* Start the Loop */ $datenow = date_create("now"); ?>
<?php while ( have_posts() ) : the_post(); 
  // visualizza il post solo se non sono passati i giorni massimi previsti - campo custom 'maxdays' 
  $keyvalue = get_post_meta(get_the_ID(), 'maxdays', true);
  if ( '' == $keyvalue || !is_numeric( $keyvalue ) ) $keyvalue=365*5;
  $interval = date_diff(date_create(get_the_date('Y-m-d H:i:s')), $datenow);
  $numdays = $interval->format('%a');
  if ($numdays<$keyvalue):
    get_template_part( 'content', get_post_format() );
  endif; ?>
<?php endwhile; ?>
									

da notare che la funzione date_diff è definita solo per PHP > 5.3. Quindi per versioni PHP inferiori è necessario usare un workaround, ad esempio questo che si trova sul sito php.net:

/**
 * Workaround for PHP < 5.3.0
 */
if(!function_exists('date_diff')) {
    class DateInterval {
        public $y;
        public $m;
        public $d;
        public $h;
        public $i;
        public $s;
        public $invert;
        
        public function format($format) {
            $format = str_replace('%R%y', ($this->invert ? '-' : '+') . $this->y, $format);
            $format = str_replace('%R%m', ($this->invert ? '-' : '+') . $this->m, $format);
            $format = str_replace('%R%d', ($this->invert ? '-' : '+') . $this->d, $format);
            $format = str_replace('%R%h', ($this->invert ? '-' : '+') . $this->h, $format);
            $format = str_replace('%R%i', ($this->invert ? '-' : '+') . $this->i, $format);
            $format = str_replace('%R%s', ($this->invert ? '-' : '+') . $this->s, $format);
            
            $format = str_replace('%y', $this->y, $format);
            $format = str_replace('%m', $this->m, $format);
            $format = str_replace('%d', $this->d, $format);
            $format = str_replace('%h', $this->h, $format);
            $format = str_replace('%i', $this->i, $format);
            $format = str_replace('%s', $this->s, $format);
            
            return $format;
        }
    }

    function date_diff(DateTime $date1, DateTime $date2) {
        $diff = new DateInterval();
        if($date1 > $date2) {
            $tmp = $date1;
            $date1 = $date2;
            $date2 = $tmp;
            $diff->invert = true;
        }
        
        $diff->y = ((int) $date2->format('Y')) - ((int) $date1->format('Y'));
        $diff->m = ((int) $date2->format('n')) - ((int) $date1->format('n'));
        if($diff->m < 0) {
            $diff->y -= 1;
            $diff->m = $diff->m + 12;
        }
        $diff->d = ((int) $date2->format('j')) - ((int) $date1->format('j'));
        if($diff->d < 0) {
            $diff->m -= 1;
            $diff->d = $diff->d + ((int) $date1->format('t'));
        }
        $diff->h = ((int) $date2->format('G')) - ((int) $date1->format('G'));
        if($diff->h < 0) {
            $diff->d -= 1;
            $diff->h = $diff->h + 24;
        }
        $diff->i = ((int) $date2->format('i')) - ((int) $date1->format('i'));
        if($diff->i < 0) {
            $diff->h -= 1;
            $diff->i = $diff->i + 60;
        }
        $diff->s = ((int) $date2->format('s')) - ((int) $date1->format('s'));
        if($diff->s < 0) {
            $diff->i -= 1;
            $diff->s = $diff->s + 60;
        }
        
        return $diff;
    }
}
									

Other WP plugin fixed

I fixed some WordPress plugins, sometimes with the help of other developers.
The reason to do this is that these plugins do the job I want but with some limitations of they didn’t work any longer with new WP versions and the author was not available.
For some of these plugins I give here the possibility to download the updated version, because was no longer possible to contact the author and apply the fix in the official WordPress repository, that is always the preferred solution, and will be used if the author wants to contact me.

Plugin in WP site Version Download
WP-Options-Manager 0.09
works with WP3.8.1
added some edit capabilities
‘Popular Plugins’ array has been updated
fixes all warnings, format more compatible with wp standards
Advanced Recent Posts Widget 1.1a mod
Download thumb.php.zip
fixes thumb.php for multisite networks
WP FEvents Book: similar to wp-simplemeetingconfirmation 0.02 Now available as WordPress.org plugin!!
Create FEvents Book
Simplr Registration Form 2.2.3
italian translation, many __() and _e() added
users_profile_page shortcode added