Approfitto di una richiesta che mi è stata fatta, a seguito di un mio articolo di alcuni giorni fa, per realizzare e pubblicare il mio primo plugin per WordPress!
Questo plugin mostra le categorie nella sidebar come una semplice lista di selezione a discesa. A differenza della funzione dropdown_cats di WordPress, dà anche la possibilità di escludere alcune categorie dalla lista.
Non so se un plugin del genere esistesse già o se ci fossero altri modi per ottenere lo stesso risultato, ma comunque mi sono divertito a farlo e quindi va bene lo stesso!
ISTRUZIONI:
- Scaricare il file zip (la versione attuale è la 1.4 del 12 ottobre 2006).
- Estrarre il file zelig-dropdown-cats.php nella cartella dei plugin della vostra installazione di WordPress (wp-content/plugins).
- Entrare nel pannello di amministrazione di WordPress, aprire la pagina dei Plugin e attivare il plugin stesso.
- Inserire il seguente codice HTML da qualche parte in una pagina del vostro template, fuori dal loop (il suo posto naturale è nella sidebar):
<?php zelig_dropdown_cats(); ?>
IMPORTANTE: se si aggiorna il plugin da una versione precedente alla 1.2, rimuovere tutta la parte di codice precedentemente richiesta in questo punto e lasciare solamente la chiamata alla funzione come indicato sopra.
La funzione zelig_dropdown_cats() ha alcuni parametri che possono essere specificati:
Parametro |
Valori |
Descrizione |
Default |
sort_column |
name
id |
tipo di ordinamento (in base al nome o al numero ID) |
id |
sort_order |
asc
desc |
direzione di ordinamento (ascendente o discendente) |
asc |
file |
testo |
nome del file php da usare per visualizzare le categorie selezionate (NON FUNZIONA!) |
index.php |
hide_empty |
0
1 |
1 nasconde le categorie vuote, 0 le mostra comunque |
1 |
exclude |
numero o elenco di numeri separati da virgole |
categoria o elenco di categorie (numeri ID) da escludere dalla lista |
|
post_count |
0
1 |
se impostato a 1, mostra il numero di articoli presente in ogni categoria |
0 |
title |
testo |
testo che compare nella list box quando è chiusa. Se non si desidera questa prima riga di intestazione, specificare questo parametro senza nessun valore (‘title=’) |
“Categories” (o “Categorie” se avete WP localizzato in italiano) |
boxwidth |
numero |
larghezza della list box in pixel. Se non specificata o se impostata a zero, la lista assumerà la larghezza del nome più lungo delle categorie che contiene. Se invece viene impostato un valore, i nomi eventualmente più lunghi potrebbero essere troncati in quel punto a seconda del browser utilizzato (IE6…) |
0 |
child_of |
numero |
Se non impostato o se impostato a -1 mostra tutte le categorie e sottocategorie. Se impostato a 0 mostra solo le categorie principali escludendo tutte le sottocategorie. Se impostato con un numero di categoria (numero ID) mostra solo le sottocategorie di quest’ultima. |
-1 |
ESEMPI:
<?php zelig_dropdown_cats('sort_column=name'); ?>
mostra la lista ordinata per nome.
<?php zelig_dropdown_cats('sort_column=name&exclude=1,3,5,6'); ?>
mostra la lista ordinata per nome, escludendo le categorie 1, 3, 5 e 6.
<?php zelig_dropdown_cats('sort_order=desc&hide_empty=0'); ?>
mostra la lista in ordine discendente, elencando anche le categorie vuote.
<?php zelig_dropdown_cats('title=Scegli una categoria&boxwidth=120'); ?>
visualizza “Scegli una categoria” come titolo nella list box e imposta la larghezza a 120 pixel.
<?php zelig_dropdown_cats('title=&post_count=1&child_of=0'); ?>
non visualizza la prima riga con il titolo, aggiunge il numero di post per ogni categoria e mostra solo le categorie principali escludendo le sottocategorie.
NOTE:
Il codice restituito dalla funzione è valido XHTML Strict.
Plugin testato con WordPress 1.5.2 e 2.0.x.
AGGIORNAMENTI:
- Versione 1.4 (12 ottobre 2006): aggiunta l’opzione “child_of” per escludere la visualizzazione delle sottocategorie o per visualizzare solo le sottocategorie di una determinata categoria. Un’altra piccola modifica consente ora di utilizzare più istanze della funzione nella stessa pagina.
- Versione 1.3 (26 agosto 2006): aggiunta la possibilità di escludere la prima riga con il titolo nella list box. Inoltre, se il titolo non viene specificato, viene utilizzata come default la traduzione localizzata di “Categories”, se disponibile.
- Versione 1.2 (14 agosto 2006): semplificato il codice da inserire nella sidebar e aggiunte le due opzioni “title” e “boxwidth”.
- Versione 1.1 (7 giugno 2006): aggiunta l’opzione “post_count” per mostrare accanto al nome di ogni categoria anche il numero di articoli pubblicati.
This plugin displays the categories in the sidebar as a simple dropdown list (select box). Unlike the WP built-in dropdown_cats function, it gives the option to exclude some categories from the list.
I don’t know if there is already a similar plugin or if there is another way to do something like this, but it was funny to make and that’s enough for me!
INSTRUCTIONS:
- Download the zip file (current version is 1.4 of october 12, 2006).
- Extract the zelig-dropdown-cats.php file into the plugins directory in your WordPress installation (wp-content/plugins).
- Log in to WordPress administration. Go to the Plugins page and Activate this plugin.
- Put this code somewere in your template page, outside the loop (usually in sidebar):
<?php zelig_dropdown_cats(); ?>
IMPORTANT: if you are updating the plugin from version 1.0 or 1.1, please remove all the code formerly required at this point and leave only the function call, as indicated above.
The zelig_dropdown_cats() function has some parameters you can pass:
Parameter |
Values |
Description |
Default |
sort_column |
name
id |
sort list by name or id number |
id |
sort_order |
asc
desc |
sorting direction of the list (ascending or descending) |
asc |
file |
string |
name of the php file used to display selected categories (NOT WORKING!) |
index.php |
hide_empty |
0
1 |
1 means hide empty categories, 0 shows them too |
1 |
exclude |
number or comma separated list of numbers |
these are the categories (ID numbers) to exclude from the list |
|
post_count |
0
1 |
if set to 1, display the count of posts in each category |
0 |
title |
string |
text appearing in the list box when it’s closed. If you don’t want the first row as a title, use this parameter without any value (‘title=’) |
“Categories” (or corresponding localized text) |
boxwidth |
number |
width size (in pixel) of the list box. If you don’t use this parameter or if you set it to 0, the list box will assume the width of the longest category name it contains. If you set a width value, longer names may be truncated at that point, depending on browser (IE6…) |
0 |
child_of |
number |
If not set or if set to -1, shows all categories and subcategories. If set to 0, shows only main categories excluding all subcategories. If set with a category ID number, shows only its subcategories. |
-1 |
EXAMPLES:
<?php zelig_dropdown_cats('sort_column=name'); ?>
displays list sorted by name.
<?php zelig_dropdown_cats('sort_column=name&exclude=1,3,5,6'); ?>
displays list sorted by name, excluding categories id 1, 3, 5 and 6.
<?php zelig_dropdown_cats('sort_order=desc&hide_empty=0'); ?>
displays list in descending ID order, showing also empty categories.
<?php zelig_dropdown_cats('title=Scegli una categoria&boxwidth=120'); ?>
shows “Select category” as a title in the list box and set the width to 120 pixels.
<?php zelig_dropdown_cats('title=&post_count=1&child_of=0'); ?>
don’t shows the first row with the title, adds the post count for every category and lists only main categories excluding subcategories.
NOTES:
The output code is valid XHTML Strict.
Tested with WordPress 1.5.2 and 2.0.x.
CHANGE LOG:
- Version 1.4 (october 12, 2006): added “child_of” option to exclude the visualization of all subcategories or to show only subcategories of a given category. Another little upgrade lets you use more than one istance of the function in the same page.
- Version 1.3 (august 26, 2006): now you can exclude the first row of the list with the title. Added localization support (translation of “Categories”, if available) as a default title.
- Version 1.2 (august 14, 2006): semplified the code to put in the sidebar and added two new options “title” and “boxwidth”.
- Version 1.1 (june 7, 2006): added “post_count” option to display a count of posts in each category after the name.
Pingback: Vindictive Bastard