Boilerplate Starter Lengkap

Boilerplate Starter Lengkap

Untuk mempercepat proses pengembangan awal, berikut adalah template boilerplate functions.php yang siap diadaptasi untuk Child Theme baru:


File functions.php Siap Pakai

PHP
<?php
/**
 * My Xionic Child Theme Functions
 *
 * @package MyXionicChild
 */

if (!defined('ABSPATH')) {
    exit;
}

/**
 * 1. Pemuatan Asset Ekstra (JS / CSS)
 */
add_action('wp_enqueue_scripts', 'my_child_enqueue_assets', 25);
function my_child_enqueue_assets() {
    if (file_exists(get_stylesheet_directory() . '/assets/js/custom.js')) {
        wp_enqueue_script(
            'my-child-custom-js',
            get_stylesheet_directory_uri() . '/assets/js/custom.js',
            array('xionic-main-js'),
            '1.0.0',
            true
        );
    }
}

/**
 * 2. Kustomisasi Render Hero Halaman Depan
 */
add_action('xionic_after_header', 'my_child_render_hero');
function my_child_render_hero() {
    if (is_front_page() && function_exists('xionic_render_hero')) {
        xionic_render_hero();
    }
}

/**
 * 3. Registrasi Header Kustom
 */
add_filter('xionic_header_layout_options', function($options) {
    $options['header-custom'] = __('Header Kustom Child', 'my-xionic-child');
    return $options;
});
add_filter('xionic_header_layouts', function($layouts) {
    $layouts[] = 'header-custom';
    return $layouts;
});

/**
 * 4. Registrasi Footer Kustom
 */
add_filter('xionic_footer_layout_options', function($options) {
    $options['footer-custom'] = __('Footer Kustom Child', 'my-xionic-child');
    return $options;
});
add_filter('xionic_footer_layouts', function($layouts) {
    $layouts[] = 'footer-custom';
    return $layouts;
});