Archivio dicembre, 2011

WordPress snippet: la action save_post

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 meta, oppure su una o più tabelle personali.

Continua...

WordPress snippet: is_page() su Custom Post Type

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:

1
2
3
4
5
6
if (is_singular('cpt_key')) {
  global $post;
  if ($post->post_name == 'slug_pagina') {
     // Il tuo codice qui... tipo add_action(), wp_enqueue_scripts(), etc...
  }
}

Continua...

WordPress 3.3: tutto jQuery finalmente

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:

1
2
3
4
5
6
// Moduli che WordPress caricherà per noi propedeutici allo script "myscript.js"
$deps = array('jquery-ui-slider',
  'jquery-ui-datepicker',
  'jquery-ui-autocomplete'
);
wp_enqueue_script('key', 'js/myscript.js', $deps, 1.3.4, true);

Continua...

WordPress snippet: aggiungere stili e script ai Custom Post Type

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:

1
2
3
4
5
6
7
add_action('admin_enqueue_scripts', function() {
  global $typenow;
  if ($typenow == 'id_custom_post') {
    wp_enqueue_style('key_style', 'css/customstyle.css');
    wp_enqueue_script('key_script', 'js/customscript.js');
  }
});

Continua...


Stop SOPA