1. Creare child theme
În directorul cu tema nouă se crează un fişier style.css cu codul:
/*
Theme Name: Twentytwelve Child
Author:
Description: Child theme for the twentytwelve theme
Template: twentytwelve
*/
@import url("../twentytwelve/style.css");
2. Înregistrare widget
În acelaşi director cu tema nouă se adaugă fişierul function.php:
<?php
function twentytwelvechild_widgets_init() {
register_sidebar( array(
'name' => __( 'Denumire widget', 'twentytwelve' ),
'id' => 'sidebar-9',
'description' => __( 'Descriere widget', 'twentytwelve' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
}
add_action( 'widgets_init', 'twentytwelvechild_widgets_init' );
3. Creare template pagină personalizată
Se copiază page.php în folderul cu tema nouă cu un alt nume (pagechild.php de exemplu) şi se modifică începutul fişierului cu codul de mai jos:
<?php
/*
Template Name: Denumire template
*/
Pentru o clonă twentytwelve se copiază cu o denumire nouă (contentchild-page.php) şi fişierul content-page.php responsabil cu afişarea conţinutului paginii personalizate. Referinţa în pagechild.php va fi:
<?php get_template_part( 'contentchild', 'page' ); ?>
4. Adăugare widget în conţinut
Widget-ul se afişează prin inserarea codului următor într-un bloc div de conţinut (cum ar fi clasa CSS entry-content) din pagina personalizată.
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-9') ) : ?>
<?php endif; ?>
Widget-ul se configurează din panoul de control, iar afişarea se va face doar în paginile cu template-ul nou creat.