Quante volte avrete scaricato o cercato in rete Temi per WordPress che contenessero delle Funzioni personalizzate ed avanzate? Spesso, i vari Temi gratuiti e soprattutto quelli a pagamento, contengono delle comode Funzioni capaci di estendere le funzionalità di WP e permettervi di consegnare un Tema che abbia un valore aggiunto.Oggi vediamo alcune Funzioni avanzate lato Amministrazione, che potranno ritornarvi utili nel caso dobbiate consegnare un sito ad un Cliente. Ogni Funzione che scriverò, andrà scritta nel file function.php del vostro Tema.

Disabilitare e abilitare alcuni Widget nella Home di Amministrazione

1
2
3
4
5
6
7
8
9
10
11
12
function disable_default_dashboard_widgets() {

    remove_meta_box('dashboard_right_now', 'dashboard', 'core');
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'core');
    remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');
    remove_meta_box('dashboard_plugins', 'dashboard', 'core');
    remove_meta_box('dashboard_quick_press', 'dashboard', 'core');
    remove_meta_box('dashboard_recent_drafts', 'dashboard', 'core');
    remove_meta_box('dashboard_primary', 'dashboard', 'core');
    remove_meta_box('dashboard_secondary', 'dashboard', 'core');
}
add_action('admin_menu', 'disable_default_dashboard_widgets');

Creare un Widget completamente personalizzato

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
 
    function my_custom_dashboard_widgets() {
    global $wp_meta_boxes;
 
    wp_add_dashboard_widget('custom_help_widget', 'Titolo Widget - Guida al sito', 'custom_dashboard_help');
    }
 
    function custom_dashboard_help() {
    echo '
    <p>Ciao Nome Cliente, ricodati queste semplici regole per gestire il tuo sito:</p>
    <p><strong>Blog</strong></p>
    <ul>
        <li>Immagine in evidenza per i Post: larga max <strong>600px</strong> - alta max <strong>220px</strong></li>
        <li>Ricordati di associare sempre una Categoria e un TAG al Post</li>
    </ul>
    <p>Nel caso avessi problemi, non esitare a <a href="http://www.beatfly.com" target="_blank">contattarmi</a>! Buon lavoro.</p>'
;
    }

Creare un Footer personalizzato nell’Amministrazione di WordPress

1
2
3
4
5
function modify_footer_admin () {
  echo 'Smoked and Performed by <a href="http://www.beatfly.com" target="_blank">Beat Fly</a>';
}

add_filter('admin_footer_text', 'modify_footer_admin');

Nascondere i messaggi di Update per la Versione di WordPress e per i Plugin

1
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

Sostituire il Logo della Login, con uno personalizzato

1
2
3
4
5
6
function custom_login_logo() {
    echo '<style type="text/css">
    h1 a { background-image: url('
.get_bloginfo('template_directory').'/images/custom_login_logo.png) !important; }
    </style>'
;
}
add_action('login_head', 'custom_login_logo');

Sostituire il link della Login

1
2
3
4
5
6
7
8
9
function change_wp_login_url() {
    echo bloginfo('url');  // OR ECHO YOUR OWN URL
   }
   
function change_wp_login_title() {
    echo get_option('blogname'); // OR ECHO YOUR OWN ALT TEXT
}
add_filter('login_headerurl', 'change_wp_login_url');
add_filter('login_headertitle', 'change_wp_login_title');

Inserire del contenuto personalizzato dopo ogni Post

1
2
3
4
5
6
7
function add_post_content($content) {
    if(!is_feed() && !is_home()) {
        $content .= '<p>This article is copyright © '.date('Y').' '.bloginfo('name').'</p>';
    }
    return $content;
}
add_filter('the_content', 'add_post_content');

Inserire una Favicon personalizzata

1
2
3
4
function admin_favicon() {
    echo '<link rel="Shortcut Icon" type="image/x-icon" href="'.get_bloginfo('stylesheet_directory').'/images/favicon.ico" />';
}
add_action('admin_head', 'admin_favicon');

Inserire il proprio Logo nell’Amministrazione

1
2
3
4
5
6
7
8
9
10
11
add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
    echo '
    <style type="text/css">
    #header-logo { background-image:
    url('
.get_bloginfo('template_directory').'/images/custom_logo.gif)
    !important; }
    </style>
    '
;
}

Rimuovere la funzionalità Editor, dal Menu Appearance

1
2
3
4
5
function remove_editor_menu() {
  remove_action('admin_menu', '_add_themes_utility_last', 101);
}

add_action('_admin_menu', 'remove_editor_menu', 1);

Cambiare l’ordine dei Menu di Amministrazione

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function custom_menu_order($menu_ord) {
    if (!$menu_ord) return true;
        return array(
        'index.php', // this represents the dashboard link
        'edit.php?post_type=events', // this is a custom post type menu
        'edit.php?post_type=news',
        'edit.php?post_type=articles',
        'edit.php?post_type=faqs',
        'edit.php?post_type=mentors',
        'edit.php?post_type=testimonials',
        'edit.php?post_type=services',
        'edit.php?post_type=page', // this is the default page menu
        'edit.php', // this is the default POST admin menu
    );
}
add_filter('custom_menu_order', 'custom_menu_order');
add_filter('menu_order', 'custom_menu_order');