Customizarea temelor WordPress

De când folosesc wordpress, n-am fost niciodată mulțumit de temele implicite. Cu un pic de ingeniozitate și efort, temele se pot modifica destul de ușor. Dar când ai terminat de modificat, apar update-urile temelor, și pierzi tot ce ai muncit. Motiv pentru care sunt necesare temele „child” (=copii, nuș dacă au fost traduse în română).

Un ghid excelent aici, din care extrag esențialul mai departe:

(1) în folderul de teme, creează un folder dedicat temei copil. Dacă, de exemplu, tema este theme, eu prefer să-l denumesc theme_child (mă ajută să fie aerisit, ordonat).

(2) în theme_child, creează fișierul style.css, cu următorul conținut:

Theme Name:   (numele temei) Child Theme
Theme URI:    (adresa web pentru tema-sursa)
Description:  O descriere, pe care o poti citi doar tu
Author:       (personal, trec numele autorului de drept al temei)
Author URI:   (aici, din orgoliu, trec site-ul meu
Template:     _nume_template_tema_originala
Version:      1.0.0
Text Domain:  numetemaoriginalachild

(3) Urmează crearea următorului fișier, functions.php: pentru asta am respectat instrucțiunile propuse aici. Pe scurt, 2 variante:

(3.1.) Tema originală folosește get_template_directory() și/sau get_template_directory_uri():

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
	wp_enqueue_style( 'child-style',
		get_stylesheet_uri(),
		array( 'parenthandle' ),
		wp_get_theme()->get( 'Version' ) // This only works if you have Version defined in the style header.
	);
}

(3.2.) Tema originală folosește get_stylesheet_directory() și/sau get_template_stylesheet_uri():