relevanssi italian stopwords

Senza tanti preamboli, un elenco dei termini italiani di uso comune da escludere dai risultati di ricerca da poter utilizzare con il plugin per wordpress (al momento della pubblicazione 3.5.2) “relevanssi” (al momento della pubblicazione 3.1.6).

Il file .zip contiene un file .txt e un file .it_IT, quest’ultimo pronto per essere inserito nella cartella \wp-content\plugins\relevanssi\stopwords.

L’elenco è stato ottenuto unendo queste risorse:

download stopwords.zip | download stopwords.txt
Continue reading

wordpress php internet explorer browser detection, add body class

ie_detection_to_body aggiunge delle classi css utilizzando body_class di wordpress, adottando un approcio simile a questo snippet

/*
    ie_detection_to_body uses worpress body_class filter
    http://codex.wordpress.org/Function_Reference/body_class
    it has a similar approach of http://simplemediacode.info/?p=1006
Copyright (C) 2013 Valerio Vendrame (lelebart) http://www.valeriovendrame.it/
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
function ie_detection_to_body( $classes ) {
    global $is_IE; $browser = $_SERVER['HTTP_USER_AGENT'];
    if ( $is_IE ) {    
        $classes[] = 'ie';    
        if ( isset( $browser ) && ( strpos( $browser , 'MSIE' ) !== false ) ) {
            preg_match('/MSIE (.*?);/', $browser, $matches);
            if ( count ( $matches ) > 1 ) {
                $classes[] = 'ie' . intval( $matches[1] );
                $classes[] = 'ie' . str_replace(".", "-", $matches[1] );
            }
        }
    }
    return $classes;
}
add_filter( 'body_class', 'ie_detection_to_body' );

pensato per un uso del tipo

.regola { /* per tutti */ }
.ie .regola { /* per internet explorer */ }
.ie.ie5.ie5-5 .regola { /* per internet explorer 5.5 */ }
.ie.ie7 .regola { /* per internet explorer 7.0 */ }

sendmail su xampp (windows)

Sì, partiamo in media res. Ok, allora fai una ricerca su Google suppergiù del tipo “enable mail xampp” che poi raffini in mille altre permutazioni, perché Mecury non ne vuole sapere (o, come a me, non ti sfagiola) e finisci col credere che mai e poi mai sendmail funzionerà su Windows e che sia Unix-only. E invece c’è questo fake sendmail, e non l’hai mai saputo, o meglio: e ostinatamente non hai mai voluto accettare la sua esistenza nel tuo serverino virtuale locale.

Perché in fondo lo sai: alla fine qualcosa verrà fuori da questa/quella ricerca, magari qualcosa di datato, vecchio, stantio, non applicabile ma in qualche modo ancora valido, c’è uno spunto, ti da speranza, sai che forse, forse e ancora forse si può fare, finalmente potresti far partire le mail proprio come fosse un server vero — perché di far diventare un vecchio PC/laptop dimenticato e non più usato un efficiente server Linux per lo sviluppo web non se ne parla.

E ti ritrovi con le credenziali d’accesso di un tuo account SMTP, magari Microsoft-related (live, hotmail, e varie e-mail adolescenziali), sottomano e con php.ini e sendmail.ini aperti nell’editor.

[C:\xampp\php\]php.ini
⋮
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
⋮
[C:\xampp\php\]php5.ini
⋮
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
⋮
[C:\xampp\sendmail\]sendmail.ini
⋮
smtp_server=smtp.live.com
⋮
auth_username={username}@hotmail.it
auth_password={password}
⋮
p5rn7vb

Rimuovere la sezione bio nel profilo in WordPress

Avete deciso di, o cause di forza maggiore vi costringono a, far sì che qualcuno debba registrarsi nel vostro sito fatto con WordPress, per leggere degli articoli, a mo’ di area riservata.

Quindi avete già aperto le iscrizioni (magari con S.A.B.R.E. avete distribuito un codice cupon), e avete fatto in modo che i sottoscrittori -o chi per loro- possano leggere gli articoli -e le pagine?- privati (magari con User Role Editor, o con una soluzione di questo tipo), magari avete anche prontamente integrato la Sidebar Login e ora non vi resta che rendere il più basico e minimale possibile l’interfaccia di WordPress per modificare il proprio profilo utente: perciò avete già installato Adminimize per nascondere il collegamento alla bacheca e avete già rimosso i campi di contatto con una soluzione di questo stampo, ma volete anche togliere la biografia dell’autore, avete trovato questa discussione, avete provato, ma in codice non va – perché avete una installazione non in lingua Inglese.

Ebbene, la soluzione multilingua che ho trovato io, integrando il codice di glebec:

    // Callback function to remove default bio field from user profile page
    function remove_plain_bio($buffer) {
        $titles = array('#<h3>'.__("About Yourself").'</h3>#','#<h3>'.__("About the user").'</h3>#');
        $buffer = preg_replace($titles,'<h3>'.__("Password").'</h3>',$buffer,1);
        $biotable = '#<h3>'.__("Password").'</h3>.+?<table.+?/tr>#s';
        $buffer   = preg_replace($biotable,'<h3>'.__("Password").'</h3> <table>',$buffer,1);
        return $buffer;
    }
    function profile_admin_buffer_start() { ob_start("remove_plain_bio"); }
    function profile_admin_buffer_end() { ob_end_flush(); }
    add_action('admin_head', 'profile_admin_buffer_start');
    add_action('admin_footer', 'profile_admin_buffer_end');

Che dire, se avete trovato utile questa soluzione, e volete condividere la vostra felicità con me, le mie liste dei desideri sono qui a lato →

Personalizzare Breadcrumb NavXT per WordPress

Se anche te, webdesigner/webdeveloper/webaddicted/blogger che utilizzi WordPress e in particolare con il plugin Breadcrumb NavXT per gestire le breadcrumb trails o briciole di pane o come-vi-piace-chiamarle, e ancora, che hai una pagina statica come pagina d’apertura del sito e un’altra per gli articoli, avete i permalink attivati con una struttura del tipo /%category%/%postname%/, e vuoi differenziare gli archivi giornalieri, mensili, annuali, forse, quest’articolo fa per te.

Ci tengo a precisare che è una funzione stupida e scritta in velocità, sicuramente c’è un modo (o più d’uno) più elegante per fare la stessa cosa.

Devi sapere che come separatore uso  &raquo; la mia pagina per gli articoli si chiama News, quindi dovrei adattare a tuo piacimento $my_sep, $page_name e $page_nice.

Nel file functions.php del vostro tema:

if (!function_exists("show_breadcrumbs")) {
    /* ==== CC BY-SA 3.0 ==== *\
    \* www.valeriovendrame.it */
    function show_breadcrumbs() {
        global $paged, $page;
        $my_page_n = $paged ? $paged : $page;
        $my_page_n = $my_page_n > 1 ? $my_page_n : false;
        $my_sep    = ' &raquo; ';
        if(function_exists('bcn_display')){
            if ( is_day() || is_month() || is_year() ) {
                $my_date['Y'] = get_the_time('Y');
                $my_date['m'] = get_the_time('m');
                $my_date['d'] = get_the_time('d');
            }
            echo "Sei in: ";  
            if ( is_front_page() ) {
                echo '<a href="'.home_url('/').'" title="'.esc_attr(get_bloginfo('name','display')).'" rel="home">'.get_bloginfo('name').'</a>';
            } else if ( is_home() ) {
                $page_name = "News";
                $page_nice = "news";
                $my_href = home_url('/').$page_nice."/";
                // $my_href = get_category_link(1);
                echo '<a href="'.$my_href.'" rel="'.$page_nice.'">'.$page_name.'</a>';
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="'.$page_nice.'-paged">'.$my_page_n.'</a>' : '';
            } else if ( is_day() ) {
                $my_href = get_day_link($my_date['Y'], $my_date['m'], $my_date['d']);
                printf( 'Archivio per il giorno &#39;<a href="'.$my_href.'" rel="archive-day">%s</a>&#39;' , get_the_date() );
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="archive-day-paged">'.$my_page_n.'</a>' : '';
            } else if ( is_month() ) {
                $my_href = get_month_link($my_date['Y'], $my_date['m']);
                printf( 'Archivio per il mese di &#39;<a href="'.$my_href.'" rel="archive-month">%s</a>&#39;', get_the_date( 'F Y' ) );
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="archive-month-paged">'.$my_page_n.'</a>' : '';
            } else if ( is_year() ) {
                $my_href = get_year_link($my_date['Y']);
                printf( 'Archivio per l&#39;anno &#39;<a href="'.$my_href.'" rel="archive-year">%s</a>&#39;', get_the_date( 'Y' ) );
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="archive-day-paged">'.$my_page_n.'</a>' : '';
            } else { bcn_display(); }
        }
    }
}

E poi, dove ti serve, basta richiamare la funzione show_breadcrumbs()

<?php show_breadcrumbs(); ?>

Ah sì, la pubblico con una licenza Creative Commons: Attribuzione – Condividi allo stesso modo 3.0 Italia (CC BY-SA 3.0), lascia il link a questo sito web (e se proprio proprio mi vuoi far felice, scegli qualcosa dalla mia wishlist →).