Genesis Framework is a WordPress based parent theme which works with its child theme. It is developed by Brain Gardner who is the Founder of StudioPress. Nowadays, the Genesis Framework has become a more popular framework all over the world.

Genesis-framework

Thousands of people love Genesis because it provides them with exactly what they need. It is more secure, SEO friendly powerful WordPress theme.

How Genesis Framework Works?

As Genesis Framework is a parent theme, it works only with its child theme. Using a child theme, easily you can customize your design, layouts and other features. You can also add or remove any element using Genesis hooks and filter through the child theme.

Pre-step for developing a genesis child theme

Before start developing a genesis child theme, you have to ensure that in your theme directory, the Genesis Framework has been already uploaded. Without existing of the framework, you can’t go ahead of developing a genesis child theme. You can buy this framework from their official website. Click here

When the Genesis Framework will be uploaded in the theme directory, a warning message will display at the top of the theme dashboard if there don’t have any Genesis child theme. The message will say to upload a child theme.

How to start with Genesis child theme

To start with the Genesis Framework, you must need to have a Genesis child theme. So, to start with a genesis child, we can do it in different ways.

Firstly, you can start with a sample genesis child theme which is free to use. It is a sample child theme. You have to customize it as per your need. You will get this from Github following this link

Secondly, it may be an easy option and that is you have to buy a child theme from StudioPress premium theme store. You will get a complete list of different premium child themes from here. Depending on your business need, you can start your business buying a theme from this store.

But the main issue related to this option is that the theme won’t be a unique theme just for your own branding. However, you can customize it as per your needs.

Thirdly, it is most important if you think to develop your own branding. Need to develop a custom Genesis child theme from scratch depending on your business needs.

In this article, I will discuss the basic needs and steps to start developing a custom theme from scratch. To know more in details, you have to follow my other articles.

Required files for developing a custom Genesis child theme

The essential file to start developing a custom Genesis child theme from scratch is style.css. It is required file and you can’t skip it at all. Simply, you can start your custom Genesis child theme just with this style.css file.

There is another file called functions.php. Although it is not a required file, to override or to access the main functionality of the Genesis Framework or to implement any hooks or filter, this file is required.

Even, to control the flow of the core functionality of the Genesis Framework, the functions.php file is required. It helps you to do unlimited powerful customization.

If you need any other third-party resource or library to implement in your theme, you can easily do that using functions.php. I want to mention you that you can do what you want in the child theme like as a general WordPress parent theme.

Video Tutorial

How to create a genesis child theme from scratch

You can skip the video tutorial and continue in reading the article.

Essential Code snippets for a custom Genesis child theme

To start developing a custom Genesis child theme, you must need to implement the following code snippets in the style.css file.

/*
Theme Name: 
Theme URI:
Description:
Author:
Author URI: 
Version: 
Tags: 
Template: genesis
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 
*/

In the above fields, provide the necessary basic information about your child theme like your theme’s name, author, description, version etc.

Important: The most important step is the template. The template must be exactly the name of the Genesis Framework folder name, usually, it becomes genesis. So, in the template, the name will be genesis. It will look like this-

To override or customize or to implement any extra features or to support any feature in the child theme, you need to access the core functionality of the Genesis Framework. This access can be done using a functions.php file. So, you need to create a functions.php file in the theme directory.


The most important part after creating a functions.php is to add the following codes in the functions.php file.

<?php 
// including init.php file from genesis framework
require_once get_template_directory() . '/lib/init.php';

This code snippet is to add the init.php from the Genesis Framework to the child theme. This init.php file contains all core functionalities of the Genesis Framework which is working as a parent theme.

Use of functions.php file for custom Genesis child theme

The functions.php file a root file. You can do anything using this file. Here, I am just giving a simple example of adding language support in the child theme. To support the language, we need to load the text domain. To load the text domain and languages support file, we have to add the following codes-

<?php 
 function genesis_theme_setup() {
     load_child_theme_textdomain( 'text-domain', get_stylesheet_directory() . '/languages' );
 }
 add_action( 'after_setup_theme', 'genesis_theme_setup' );

Next step: After reloading your custom theme, you will get a theme which is working well like as a theme but there is not style at all. It is happening because of the lack of CSS styling. Now you have to support all necessary supports and style it with CSS. You can follow my other articles.

Published by Zakaria Binsaifullah

Hi, I am Zakaria Binsaifullah. I have to introduce myself as a crazy for web coding. I have a solid understanding of PHP and WordPress development and 5+ years of experience in this industry. I feel peace in my heart if I can assist someone.

Join the Conversation

2 Comments

  1. Pingback: Hisbah
  2. Pingback: Alex
Leave a comment

Your email address will not be published. Required fields are marked *