Gli hack di WordPress straordinariamente utili che probabilmente non hai ancora utilizzato
Ora, per quanto WordPress possa essere diventato “tutti i giorni” – per il fatto che ogni secondo o terzo sito Web che incontri è alimentato da WordPress – ci sono sempre i frequenti “come diamine hanno fatto a farlo!” momenti in cui stai scorrendo il regno di WordPress.
Nonostante WordPress sia così straordinariamente perseguito dalla comunità di sviluppo web, non ha mai smesso di indossare incredibili trucchi e sorprese nella manica. Sebbene esista un intero insieme di plug-in che non mancano mai di portare le funzionalità di un sito Web WordPress oltre le impostazioni predefinite e riescono a consentire ai webmaster di modellare il proprio sito Web esattamente nello stesso modo in cui desiderano, sono gli hack di WordPress che offrono davvero ai webmaster una personalizzazione capacità del calibro di cui non può essere realizzato da qualsiasi plugin di sorta.
Gli hack di WordPress stanno stabilendo un solido punto d’appoggio e guadagnando molto terreno poiché i webmaster non programmatori stanno cercando l’aiuto di alcuni sviluppatori web per inserire alcune funzionalità nel loro sito Web che li aiuterebbero davvero a migliorare la sua funzionalità e portarlo oltre i suoi coetanei. Tuttavia, stiamo semplificando il tuo lavoro lanciandoti alcuni frammenti di codice di cui avresti bisogno (e che vorresti) per far girare il tuo sito web proprio nella direzione che desideri.
Il seguente elenco riguarda tali hack che puoi implementare sul tuo sito web per vantare eccezionali capacità personalizzate e sfoggiare funzionalità che altrimenti sembrano piuttosto improbabili.
1 Abilitazione degli shortcode nei widget
I widget non smettono mai di dare al nostro sito web quel vantaggio per cui siamo sempre in lizza. Costituiscono una parte indispensabile di quasi tutti i siti Web WordPress e, quindi, un modo per migliorare il loro aspetto o le loro funzionalità è sempre il benvenuto, ed è esattamente ciò a cui sono destinati gli shortcode. Usa un filtro per lo stesso:
add_filter( 'widget_text', 'do_shortcode' );
Il menu sulla barra di navigazione in alto del tuo sito web è probabilmente ignorabile, semplicemente per la sua posizione. Ed è per questo che devi spostarlo ed è qui che spostarlo ti aiuterà:
#top-nav {float: right;}
È possibile che tu abbia deciso di riallineare il tuo logo per posizionarlo al centro dell’intestazione, quindi dovresti spostare il menu di navigazione al centro in modo che non sembri fuori posto. Ed è così che lo fai:
#navigation {
position: relative;
}
#main-nav {
clear: left;
float: left;
list-style: none;
margin: 0;
padding: 0;
position: relative;
left: 50%;
text-align: center;
}
.nav li {
display: block;
float: left;
list-style: none;
margin: 0;
padding: 0;
position: relative;
right: 50%;
}
.nav li.hover, .nav li.hover {
position: relative;
}
.nav li ul li {
left: 0;
4 Ritarda la pubblicazione del tuo post sui feed RSS
Non è raro commettere errori durante la scrittura di un post, ma quando i post sono già inviati a RSS, gli errori minori possono rivelarsi abbastanza costosi. E questo è quando ritardare il processo viene in soccorso.
Ora puoi assicurarti che i post non vadano nel feed RSS non appena li pubblichi sul tuo blog. Tutto quello che devi fare è aggiungere questo pezzo di codice al file functions.php nel back-end del tuo sito web:
function publish_later_on_feed($where) {
global $wpdb;
if (is_feed()) {
$time_now = gmdate('Y-m-d H:i:s');
$time_delay = '15'; // integer
$time_span = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$where = " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$time_now') > $time_delay ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
5 Non vuoi più gli avatar circolari? Rendili squadrati
Il tema che hai scelto per il tuo sito Web WordPress potrebbe modificare automaticamente le immagini dell’avatar per presentarle in una forma circolare. Ma molti webmaster preferirebbero che i loro avatar fossero visualizzati in forma quadrata. Allo stesso modo, questo codice di GitHub funziona eccezionalmente bene:
#post-author .profile-image img, #comments .avatar img {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
}
6 Lascia che il tuo feed RSS contenga l’immagine in primo piano del post
L’uso di immagini nei tuoi post dà sempre una spinta in più al tuo pubblico e li convince a leggerli e condividerli ulteriormente tra le loro cerchie. E quando sei in grado di utilizzare l’immagine in primo piano del post nei tuoi feed RSS, migliori ulteriormente la portata del post rendendolo visivamente più accattivante:
add_filter('the_content_feed', 'rss_post_thumbnail');
function rss_post_thumbnail($content) {
global $post;
if( has_post_thumbnail($post->ID)) $content = '
'. get_the_post_thumbnail($post->ID, 'thumbnail'). '
'. $content;
return $content;
}
7 Rimuovere il titolo di una determinata pagina
Sebbene esistano strumenti che facilitano la rimozione dei titoli da tutte le pagine del sito, a volte si desidera rimuoverli solo da determinate pagine. Ed ecco il codice di cui hai bisogno: sostituisci semplicemente “abcd” con il numero ID della pagina per qualsiasi post:
.page-id-xxxx .title {
display: none;
}
8 Non vuoi l’HTML nei commenti? Vai avanti e disabilitalo
L’HTML nella sezione dei commenti può portare a un carico di spam, che alla fine potrebbe avere gravi ripercussioni sul tuo sito web. Ed è per questo che disabilitare l’HTML nella sezione dei commenti è di fondamentale importanza per mantenere il tuo sito web libero dallo spam. Per fare ciò, aggiungi questo pezzo di codice nel file functions.php:
//As soon as someone comments
function plc_comment_post( $incoming_comment) {
// convert everything in a comment to display literally
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
$incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display) {
// Put the single quotes back in
$comment_to_display = str_replace( ''', "'", $comment_to_display );
return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1 );
add_filter( 'comment_text', 'plc_comment_display', '', 1 );
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1 );
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1 );
// This stops WordPress from trying to automatically make hyperlinks on text:
remove_filter( 'comment_text', 'make_clickable', 9 );
9 Quando un utente cerca un determinato post sul tuo sito, portalo direttamente al post completo
Potresti non averlo ritenuto troppo necessario, ma se gli utenti che cercano determinati post vengono indirizzati direttamente al post completo anziché a una visualizzazione in miniatura con estratto, lo apprezzerebbero. Non li obbliga a continuare la navigazione e quindi migliora notevolmente l’esperienza dell’utente.
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $ks29so_query;
if ($ks29so_query->post_count == 1 && $ks29so_query->max_num_pages == 1) {
ks29so_redirect( get_permalink( $ks29so_query->posts['0']->ID) );
exit;
}
}
}
10 Visualizza la data di copyright più accurata e attuale
Il copyright è una parte indispensabile di qualsiasi sito web che contenga molte informazioni utili che il webmaster non vuole vengano copiate dagli altri randomizzatori sul web. Questo è il motivo per cui è importante visualizzare le informazioni sul copyright in modo accurato e sincronizzato con l’anno in corso. Il seguente pezzo di codice consente di aggiornare costantemente automaticamente le informazioni sul copyright:
function comicpress_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© ". $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-'. $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
11 Reindirizza gli utenti dopo che hanno effettuato l’accesso
Una volta che un utente ha effettuato l’accesso al tuo sito, può essere facilmente reindirizzato a un altro URL di tua scelta. Tutto ciò di cui hai bisogno è questo frammento di codice nel file functions.php:
user_level == 0)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Contributor
else if ($current_user->user_level > 1)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Editor
else if ($current_user->user_level >8)
{
ks29so_redirect( home_url() ); exit;
}
// For other roles
else
{
$redirect_to = 'http://google.com/';
return $redirect_to;
}
}
add_action('admin_init','redirect_user_on_role');
?>
12 Lascia che l’intestazione mostri alcuni widget personalizzati
L’intestazione del tuo sito Web è un’ottima area pubblicitaria in cui puoi visualizzare annunci davvero evidenti. Tuttavia, una cosa comune che si osserva è che gli amministratori del sito non hanno molto controllo su come desiderano visualizzare gli elementi nell’intestazione e questo porta alla mancanza di flessibilità.
Ciò che l’amministratore desidera è la capacità di personalizzazione per consentire loro di aggiungere ciò che vogliono a destra del logo e le seguenti righe di codice consentono loro di fare esattamente questo:
if (function_exists('register_sidebar')) {
register_sidebar(array(
'name' => 'Header Widget',
'id' => 'header-widget',
'description' => 'This is a widgetized area in the right side of the header.',
'before_widget' => '',
'after_title' => '
'
));
add_action( 'woo_header_inside', 'custom_canvas_header' );
function custom_canvas_header() {
?>
',
'before_title' => '