12 Aggiungere funzionalità (function.php)
Questo è un emporio degli attrezzi per uno sviluppatore wordpress.
Quello che segue è un minimale function.php per il nostro tema:
<?php // Imposta la larghezza del contenuto per il tema if ( ! isset( $content_width ) ) { $content_width = 500; } // Imposta il tema add_action( 'after_setup_theme', 'simpleblog_themesetup' ); function simpleblog_themesetup() { // Link automatici dei feed add_theme_support( 'automatic-feed-links' ); // Aggiunge la funzione di navigazione nei menu all'hook "init" add_action( 'init', 'simpleblog_register_menus' ); // Aggiunge la funzione della sidebar all'hook "widgets_init" add_action( 'widgets_init', 'simpleblog_register_sidebars' ); // Carica file JavaScript sull'hook "wp_enqueque scripts" add_action( 'wp_enqueue_scripts', 'simpleblog_load_scripts' ); } // Menu di registro function simpleblog_register_menus() { register_nav_menus( array( 'top-navigation' => 'Top navigation', 'bottom-navigation' => 'Bottom navigation' ) ); } // Registra le aree dei widget function simpleblog_register_sidebars() { // Area dei widget nella colonna di destra register_sidebar( array( 'name' => 'Right column', 'id' => 'right-column', 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', 'after_widget' => '</li>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } // Carica JavaScripts function simpleblog_load_scripts() { // Carica JavaScript per i thread dei commenti se abilitati if ( is_singular() && get_option( 'thread_comments' ) && comments_open() ) { wp_enqueue_script( 'comment-reply' ); } } ?>
$content_width dice a WordPress qual è la larghezza di base in pixel del contenuto, qui 500 pixel. Questa sarà la dimensione utilizzata da oEmbed quando si incorporano elementi multimediali (video Youtube, tweet…)
A seguire troviamo la funzione di setup del tema. Si collega all’hook after_setup_theme, il che significa che verranno utilizzate tutte le funzioni che includete in simpleblog_themesetup(). Sono le funzioni più sotto, con simpleblog_register_menus() per creare due menu usando register_nav_menus(), simpleblog_register_sidebars() per creare l’area dei widget nella colonna di destra e infine simpleblog_load_scripts() per caricare l’eventuale codice JavaScript necessario. A tutte queste funzioni si fa riferimento nella funzione simpleblog_theme_setup(), associata ad after_setup_theme.