Het voordeel van een thema gebaseerd op een ander thema is dat je opbouw en CSS van het parent theme gaat overnemen. Je start niet van nul. Je kan CSS en templates overnemen in je child theme om ze wat zaken specifiek te wijzigen.
Als het parent thema al goed doet wat je wenst is dat een goede oplossing. Als je echter veel wil wijzigen kan het wat complex worden.
Een thema van nul is dan zeker iets wat je kan overwegen.
Met onze kennis van HTML/CSS, PHP en de Wordpress template structuur gaan we van eens van nul een thema bouwen.
Hieronder geef ik wat belangrijke PHP functies die specifiek in de Wordpress core zitten om de Wordpress inhoud te verwerken in je templates.
style.css
/* Theme Name: Uw thema naam hier Description: Het thema voor 'uw site naam hier' Version: 1.0.0 */ ...
functions.php
De functions.php
wordt gebruikt voor:
<?php function uw_thema_naam_enqueue_styles() { wp_enqueue_style( 'theme-style', get_stylesheet_directory_uri() . '/style.css', array(), wp_get_theme()->get( 'Version' ) ); } // Voer de functie uw_thema_naam_enqueue_styles uit. add_action( 'wp_enqueue_scripts', 'uw_thema_naam_enqueue_styles'); ?>
<?php function uw_thema_naam_custom_logo_setup() { add_theme_support( 'custom-logo', [] ); } // Voer de functie uw_thema_naam_custom_logo_setup uit. add_action( 'after_setup_theme', 'uw_thema_naam_custom_logo_setup' ); ?>
Je kan het logo nu opladen via “Customizer” > “Website identiteit”. Je moet het thema wel even desactiveren en opnieuw activeren.
<?php function uw_thema_naam_primary_nav_init() { register_nav_menus( array('primary' => 'Primary menu') ); } // Voer de functie uw_thema_naam_primary_nav_init uit. add_action( 'init', 'uw_thema_naam_primary_nav_init' ); ?>
Je kan het menu beheren via “Customizer” > “Menu’s”. Je moet het thema wel even desactiveren en opnieuw activeren.
function uw_thema_naam_add_post_thumbnail_supports() { add_theme_support( ‘post-thumbnails’ ); } add_action( ‘after_setup_theme’, ‘uw_thema_naam_add_post_thumbnail_supports’);
Je kan nu via een (custom) post of pagina een hoofd beeld selecteren.
<?php function uw_thema_naam_sidebar_init() { register_sidebar( array( 'name' => 'Footer', 'id' => 'footer-sidebar', 'description' => 'De footer sidebar verschijnt onderaan.', ) ); } // Voer de functie uw_thema_naam_sidebar_init() uit. add_action( 'widgets_init', 'uw_thema_naam_sidebar_init' ); ?>
Een sidebar wordt beschikbaar via “Customizer” > “Widgets”. Je kan de inhoud gaan toevoegen via de Gutenberg editor.