Ultimi articoli
Ormai sono circa 4 anni da quando ho fondato Saidmade insieme ai miei due soci Nicola e Matteo; sono stati 4 anni molto intensi, pieni di soddisfazioni, ma per certi versi anche molto faticosi. Fin dall’inizio di questo viaggio, abbiamo creduto in un progetto opensource che oggi è considerato il top: WordPress.
Abbiamo dedicato giorni e giorni a fare ricerca e sviluppo su questa piattaforma e possiamo tranquillamente dire di averla “rivoltata come un calzino”. Ho fatto questa piccola introduzione per presentarvi la nuova startup su cui stiamo lavorando e in cui stiamo concentrando tutta l’esperienza accumulata in questi anni: wpXtreme.

Continua...
WordPress mette a disposizione molti modi per accedere ai nomi delle sue cartelle e costruirne di nuovi. Ecco un elenco utile con esempi eseguiti, per essere più chiari, a partire da una sottocartella posizionata in un ipotetico plugin:
Plugins
Iniziamo con plugins_url() utile per determinare e costruire url quando si scrive un plugin.
plugins_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php
$r = plugins_url();
// http://www.miosito.com/wp-content/plugins/
$r = plugins_url( 'myscript.js', __FILE__ );
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/myscript.js
$r = plugins_url ( 'assets' );
// http://www.miosito.com/wp-content/plugins/assets
$r = trailingslashit( plugins_url ( 'assets' ) );
// http://www.miosito.com/wp-content/plugins/assets/ |
Continua...
Tramite get_posts() è possibile selezionare una sequenza esatta di post utilizzando il parametro post__in negli argomenti passati negli inputs. L’ordine tuttavia non è coerente con la sequenza indicata in quanto WordPress esegue dei controlli sulla clausula ORDER BY della select, nonostante dalla versione 2.8 sia disponibile il valore none.
Continua...
Mi è stato chiesto quale sia il vantaggio, o svantaggio, nell’uso delle funzioni anonime o inline (o onfly), utilizzate moltissimo in Javascript e, oramai con la 5.3, anche in PHP.
Una funzione inline, o anonima perché non ha – appunto – un nome, è un modo veloce per scrivere alcune procedure, indentando ad albero sequenze di callback ad esempio. Quasi tutti i linguaggi supportano la scrittura di funzioni di questo, ognuno al limite con le sue peculiarità e restrizioni. Possono anche avere nomi diversi e sintassi particolari, come i cosiddetti blocks in Objective-C.
Continua...
Lavorando con un Custom Post Type (CPT) viene spontaneo utilizzare le funzioni interne di WordPress per visualizzare e filtrare i post di questo tipo. Sia che si usi la get_posts() sia che si crei direttamente un oggetto WP_Query, risulta comodissimo poter creare loop personali sulle proprie tipologie di post. Inoltre WordPress permette di effettuare filtri per tassionomie personali, sul count, sull’ordine, arrivando fino ai meta data. Utilissimo, infatti, è il processo che permette di indicare nelle condizioni di where che tipo di meta data confrontare e con che regole.
Continua...
Snippets
Quando di aggiungono campi aggiuntivi a pagine e post, oppure ai propri Custom Post Type (CTP), bisogna registrare una action per memorizzare questi nuovi dati. L’implementazione di questa procedura è sostanzialmente sempre lo stessa, cambiano solo i campi e le modalità di salvataggio; i dati extra possono risiedere nei ‘custom field’, ovvero la tabella post [...]
Continua...
Se avete registrato un vostro Custom Post Type (CPT), soprattutto se di tipo ‘pagina’, vi potrebbe servire di determinare se si sta visualizzando quella determinata pagina, il ‘single’ per intenderci. In questo caso è inutile provare con is_page() o is_page_template(). La soluzione pulita è la seguente: 123456if (is_singular(’cpt_key’)) { global $post; if ($post->post_name [...]
Continua...
Con WordPress 3.3 anche jQuery e tutti i suoi moduli sono stati allineati. Adesso infatti è possibile accedere alla nuova lista dei moduli dell’ultima release 3.3, come ad esempio l’autocomplete. Ecco uno snippet per una buona inclusione: 123456// Moduli che WordPress caricherà per noi propedeutici allo script "myscript.js" $deps = array(’jquery-ui-slider’, ‘jquery-ui-datepicker’, ‘jquery-ui-autocomplete’ [...]
Continua...
Ora che WordPress permette di creare dei tipi post personalizzati (CPT), diventa utile poter aggiungere dei nostri stili e dei nostri script quando si visualizzano o si modificano i nostri post. Il modo migliore per farlo, compatibile con la release 3.3 è il seguente: 1234567add_action(’admin_enqueue_scripts’, function() { global $typenow; if ($typenow == ‘id_custom_post’) [...]
Continua...
Tips & Tricks
Quando si sviluppa un prodotto (sito Web, Blog, Applicazione Facebook) online, se non si è potuto costruire un’infrastruttura sviluppo/esercizio, può essere necessario in determinate circostanze mettere “off-line” il servizio, per aggiornamenti, debug o interventi di manutenzione. WordPress, ad esempio, può essere disattivato tramite semplici e comodi Plugin, come Maintenance Mode.
Continua...
Se ci si trova a sviluppare in un ambiente dove è impossibile usare tool di debug come FireBug, come ad esempio il simulatore Apple iPad di Xcode, può diventare frustante individuare problemi, uno tra tutto l’errato accesso alle proprietà di un oggetto. Ecco che l’uso della funziona alert() diventa fondamentale!
Continua...
Apple consiglia di utilizzare l’istanza dell’oggetto NSFileManager e non il suo meotodo di classe defaultManager, in quanto quest’ultimo restituisce un’instanza singleton, cioè sempre lo stesso puntatore ad oggetto (non thread safe).
Continua...
Tutorials
A completare l’articolo How to: custom fonts su iOS 3.2 vi propongo i sorgenti di FontsBook, una semplice applicazione iPhone che mostra in una tabella tutti i font di sistema, raggruppati per famiglia.
Continua...
Come inserire ed utilizzare font personali nelle nostre applicazioni iPhone/iPad; solo per iOS 3.2+
Continua...
La classe UIView espone un puntatore al layer (CALayer), un oggetto di più basso livello con innumerevoli potenzialità. Il layer mette a disposizione tutta una serie di metodi e proprietà legati alla visualizzazione del contenuto della view. Ad esempio è possibile manipolare il contenuto di una view nello spazio tridimensionale. Nell’esempio che riporto è interessante [...]
Continua...
Rispondo a Mirko che mi chiedeva come realizzare il caso inverso proposto in Come ottenere Latitudine e Longitudine in Objective-C. Partendo dai valori di Latitudine e Longitudine è possibile sfruttare la classe MKReverseGeocoder per ottenere tutta una serie di informazioni, come: la città, lo stato, l’indirizzo esteso, il cap!
Continua...
Lasciatemi mostrare com’è possibile implementare un semplice Slideshow di immagini con pochissime righe di codice, sfruttando jQuery. Questa tecnica può essere implementata su qualsiasi tipo di sito Web, la cosa importante è includere la libreria jQuery. Ho usato questa tecnica per un sito realizzato in WordPress, sviluppato in poche ore per un evento.
Continua...
Il MapKit framework fornisce moltissime funzionalità utili, tranne quella di restituire Longitudine e Latitudine a partire da un indirizzo. In Javascript, ad esempio, è possibile utilizzare il servizio di Geocoding fornito da Google e discusso in Google Maps: come ottenere Latitudine e Longitudine da un indirizzo. Su Apple iPhone, o iPad, è possibile tuttavia superare [...]
Continua...