File functions.php merupakan bagian dari WordPress theme. File ini terletak pada masing-masing theme yang diinstal pada WordPress kita, tentu saja hanya ada satu theme saja yang aktif.  Pada file functions.php ini merupakan tempat di mana kita dapat menambahkan fitur yang unik pada WordPress theme. Juga dapat digunakan untuk menghubungkan dengan fungsi-fungsi utama WordPress sehingga theme kita lebih modular, lebih mudah dalam pengembangan dan tentu saja berfungsi dengan baik.

File functions.php ini mirip fungsinya dengan plugin, bedanya kalau plugin akan tetap bisa dipakai meskipun ganti theme. Sedangkan functions.php ini hanya berlaku pada theme yang bersangkutan. Jadi jika kita ingin membuat fitur yang akan berlaku di semua theme, maka kita lebih meletakkannya dalam plugin dan bukan pada functions.php.

Function awal yang berisi setup awal dari theme dibuat dengan pola function themeperrtamaku_setup() . Pada function awal ini kita memanggil function-function yang menunjukkan apa yang disupport oleh theme kita.
Berikut contoh function berkaitan dengan setup

function twentyseventeen_setup()
{
     add_theme_support( ‘title-tag’ );
     add_theme_support( ‘post-thumbnails’ );
     add_image_size( ‘twentyseventeen-featured-image’, 2000, 1200, true );
     add_image_size( ‘twentyseventeen-thumbnail-avatar’, 100, 100, true );
     $GLOBALS[‘content_width’] = 525;
   
    register_nav_menus( array(
        ‘top’    => __( ‘Top Menu’, ‘twentyseventeen’ ),
        ‘social’ => __( ‘Social Links Menu’, ‘twentyseventeen’ ),
    ) );

    add_theme_support( ‘html5’, array(
        ‘comment-form’,
        ‘comment-list’,
        ‘gallery’,
        ‘caption’,
    ) );

         add_theme_support( ‘post-formats’, array(
        ‘aside’,
        ‘image’,
        ‘video’,
        ‘quote’,
        ‘link’,
        ‘gallery’,
        ‘audio’,
    ) );
}

Kita akan lebih mengerti mengenai function-function yang ada di setup di atas dengan membaca comment yang ada pada theme default WordPress seperti contoh pada add_theme_support( ‘title-tag’ ) berikut ini:

    /*
     * Let WordPress manage the document title.
     * By adding theme support, we declare that this theme does not use a
     * hard-coded <title> tag in the document head, and expect WordPress to
     * provide it for us.
     */
    add_theme_support( ‘title-tag’ );

Untuk yang add_theme_support( ‘post-thumbnails’ ) kita juga mendapatkan petunjuk seperti berikut ini:

    /*
     * Enable support for Post Thumbnails on posts and pages.
     *
     * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
     */
    add_theme_support( ‘post-thumbnails’ );

Berkaitan dengan menu kita mendapat petunjuk seperti berikut ini:

    // This theme uses wp_nav_menu() in two locations.
    register_nav_menus( array(
        ‘top’    => __( ‘Top Menu’, ‘twentyseventeen’ ),
        ‘social’ => __( ‘Social Links Menu’, ‘twentyseventeen’ ),
    ) );

Kemudian untuk melihat function-function apa yang ada di dalam functions.php berikut contohnya

Pada bagian ini kita juga harus menambahkan add_action() supaya setup tadi dijalankan. Contoh add_action adalah seperti berikut ini

add_action( ‘after_setup_theme’, ‘twentyseventeen_setup’ );

Degan cara ini maka function twentyseventeen_setup() akan dijalankan setelah WordPress menjalankan function after_setup_theme().

Informasi lebih lanjut silahkan mengunjungi
1. https://developer.wordpress.org/themes/basics/theme-functions/ .
2. https://developer.wordpress.org/reference/functions/add_action/ .
3. https://developer.wordpress.org/reference/hooks/after_setup_theme/ .
4. https://codex.wordpress.org/Plugin_API/Action_Reference/after_setup_theme .

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Theme functions pada WordPress