Italiano
Scrivendo un plugin per i tag mi sono chiesto: “Come si potrebbe far vedere tutti i post con uno stesso tag?”
Andando avanti a pensare mi sono detto: “una specie di categoria”: ed ecco qui la risposta: quando ce n’è il bisogno, si fa creare una falsa categoria durante il filtro init.
Le categorie sono gestite dalla classe FPDB che le carica solo una volta e flatpress ne crea solo un’istanza.
Ecco il codice di base:
class plugin_tag_walker { var $valid=true; function current_key() { return current($this->array); } function next() { $n=next($this->array); if($n==false) $this->valid=false; return $n; } } class plugin_tag_fpdb { function length() { return $this->len; } function walker($p1=null) { $a=new plugin_tag_walker(); $a->array=$this->array; return $a; } } function prova_cat() { global $fpdb, $fp_params; if(isset($_GET['tag'])) { ### Solo se c'è il parametro GET tag $fp_params['cat']=-50; ### L'id della categoria $p=new plugin_tag_fpdb(); $p->array=array( '100715151839', ### Quali sono i post '100715163207', '100808220001' ); $p->len=count($p->array); if($fp_params['count']>$p->len) $fp_params['count']=$p->len; $fpdb->_indexer[$fp_params['cat']]=&$p; } return true; } add_filter('init', 'prova_cat');
Praticamente la funzione prova_cat assegna alla categoria -50 un oggetto che ne restituisce un altro che una volta chiamato dal codice di flatpress restituisce i post. … [Leggi il resto]