Segnalibri al 27 maggio 2010

Un numero dei miei Segnalibri con ben quattro segnalazioni di articoli solo sui Custom post types di WordPress, oltre a uno sulle Custom Taxonomies. Quello più recente mi sembra il più semplice da seguire, firmato da Nettuts+.

  • The WordPress community is buzzing with excitement over the soon-to-be-released WordPress 3.0. Currently in Beta 2 now, WordPress 3.0 will have a lot of exciting new features , such as a new default theme and better menu management. Quite possibly the most exciting of these features is custom post types. In this tutorial, we’ll talk about creating and using custom post types to make a rock-solid theme.

    Tags: wordpress custom-post-type

    27 maggio 2010

  • A volte può tornare utile includere in una pagina il contenuto di un’altra. Ad esempio se avete creato una pagina di registrazione e volote mostrare in un riquadro l’informativa della privacy, sarebbe comodo poter caricare questo contenuta da una pagina esistente.

    Tags: wordpress content page

    27 maggio 2010

Continua a leggere

Stallman su software libero e libertà della persona

Citazione

Onestamente non so se ci sono cose che Gnu/Linux può fare meglio, anche perché non so esattamente cosa possa fare l’iBad. E non posso dire che il nostro software sia sempre migliore di quello proprietario: dipende da quello che ti serve. Ma questo è un problema secondario. Il punto è che se ragioniamo in termini di convenienza, ci sono software migliori e software peggiori. Ma se ragioniamo in termini di etica, noi siamo dalla parte del Bene, loro dalla parte del Male. Dunque il nostro software sarà sempre migliore del loro.
[...]
Qui parliamo di etica. Fare un sacco di soldi con un sistema che calpesta le libertà individuali non va bene, è un attacco alla società nel suo complesso dal quale dobbiamo difenderci con tutti i mezzi. Meglio fare pochi soldi con qualcosa di eticamente sostenibile. Il business viene dopo la libertà.

Richard M. Stallman, Stallman: «iPad? Io lo chiamo iBad» 1

Grazie a Dario Cavedon per la segnalazione.

Note

  1. Il titolo inglese è: Stallman: «The iBad? A serious threat to individual freedom» la cui traduzione italiana è: Stallman: «L’iBad? Una seria minaccia alla libertà individuale».

Cambiare la guid dei post

In uno dei siti che gestisco e realizzati con WordPress, avevo l’esigenza di cambiare la GUID di ogni post in modo che combaciasse con il suo ID o, per essere più chiari, con il permalink di default (tipo http://miosito.it/?p=123). Il motivo per cui non combaciava era dovuto all’importazione da un file XML estraneo a WordPress. L’operazione di sostituzione può essere effettuata con gli strumenti che il CMS ci fornisce e, visto che magari vi può tornare utile, questo è lo script che ho usato:

<?php
global $wpdb, $post;
$myposts = get_posts('numberposts=-1');
$i = 0;
$updated = 0;
$not_updated = 0;
foreach($myposts as $post) :
	setup_postdata($post);
	$i++;
	$current_guid = get_post_field('guid', $post->ID);
	$correct_guid = get_permalink($post->ID);
	if ($current_guid != $correct_guid) {
		$where = array('ID' => $post->ID);
		$wpdb->update($wpdb->posts, array('guid' => $correct_guid), $where);
		echo $i.'. GUID del post '.$post->ID.' aggiornato da '.$current_guid.' a '.$correct_guid.'<br />';
		$updated++;
	} else {
		echo $i.'. GUID del post '.$post->ID.' OK<br />';
		$not_updated++;
	}
endforeach;

echo '<p><strong>Risultato:</strong><br />';
echo 'Righe aggiornate: <strong>'.$updated.'</strong><br />';
echo 'Righe non aggiornate: <strong>'.$not_updated.'</strong><br />';
echo 'Totale righe controllate: <strong>'.($updated+$not_updated).'</strong></p>';
?>

In poche parole, lo script confronta il campo guid della riga del post con il permalink (che, anche temporaneamente, va impostato come Default) e, se è diverso, lo adegua. Alla fine dell’operazione, lo script stampa tutte le operazioni eseguite, sia che abbia modificato la riga del database sia che non lo abbia fatto.

Ho utilizzato lo script incollandolo nell’index.php, subito dopo la chiamata all’header. In pochi secondi tutte le migliaia di post avevano la GUID corretta. Per averne anche un riscontro visivo, si può aggiungere all’interno del loop, magari proprio prima del titolo del post, questa riga:

echo get_post_field('guid', $post->ID).'<br />'.get_permalink( $post->ID );

Nel Codex, alla pagina Interfacing With the Database ci sono tutte le informazioni necessarie, in particolare il paragrafo UPDATE rows.

Il nuovo menu di navigazione di WordPress

Probabilmente non se ne accorgerà nessuno, ma da oggi questo blog utilizza il nuovo menu di navigazione di WordPress. Erano anni che si attendeva: se in un blog bisognava rivedere l’ordinamento di tutta la sezione delle pagine statiche, era un vero incubo e bisognava farlo rinumerandole a mano (oppure utilizzando un plugin come PageMash). Oggi basta trascinare le varie voci su è giù per fare la stessa operazione.

L’utilizzo della funzione è semplice. Innanzitutto va reso compatibile il tema inserendo questa riga in functions.php:

add_theme_support( 'nav-menus' );

Da questo momento WordPress attiverà il relativo sotto-menu in Aspetto. Con questa nuova funzione potrete inserire tra le voci di menu non solo le solite pagine statiche, ma qualunque collegamento vi salti in mente: link ad articoli, a categorie, a tag, a ricerche, a siti esterni. Di fatto questa funzione rende obsoleti alcuni template appositi che mi ero creato.

Una volta finito il menu, bisogna inserire nel punto desiderato la riga:

<?php wp_nav_menu(); ?>

Ci sono ovviamente una serie di parametri per personalizzare il menu: nel Codex trovate spiegata ogni cosa. A me è bastato inserire:

<?php wp_nav_menu(array(
	'container_class' => 'pagemenu',
	'menu_class' => 'sf-menu'
)); ?>

per riavere lo stesso menu di prima, compreso l’effetto di apertura di Superfish.

L’unico inconveniente, per adesso, è che nelle pagine madri rispetto ad altre non viene inserita la vecchia classe parent e ancestor: quindi chi come me evidenziava le pagine di livello superiore, per ora non potrà farlo. C’è una segnalazione aperta con alcune informazioni interessanti.
Un altro cambio ha interessato la classe delle voci di menu: da page_item e current_page_item si è passati a menu-item e current-menu-item, con la conseguenza di rivedere alcuni stili del CSS.

Full Circle Magazine n. 32

Abbiamo pubblicato il numero 32 della rivista Full Circle nel sito internazionale. Per il download del PDF fate clic sui link riportati in basso.

Dal sommario

  • Programmare in Python, parte 6
  • Installare pacchetti offline
  • Il server perfetto, parte 2
  • La mia storia: Esperienze in classe
  • La mia storia: Come sono diventata una donna Ubuntu
  • La mia opinione: Può Linux essere sempre la scelta giusta?
  • Recensione: Music Player Daemon
  • Intervista ai MOTU: Roderick Greening
  • Donne Ubuntu: Intervista ad Emma Jane Hogbin
  • Top 5: Media Center

Link

Puoi sfogliare a pieno schermo l’ultimo numero dalla pagina dedicata in questo blog.

Buona lettura! ;)