Soubor functions.php ve WordPress šabloně

wordpress

Ve většině WordPress návodů obsahujících nějaké php snippety najdete instrukci, že máš kód vložit do souboru functions.php ve složce tvojí šablony. Pokud v tom moc nemáš jasno a chceš se dozvědět, jak to vlastně funguje, tak čti dál.

Soubor functions.php je hlavním souborem pro zápis funkcí v každé WordPress šabloně a najdeš jej v jejím základním adresáři.Soubor functions.php by měla mít každá šablona včetně Child theme šablon. Skrze něj jde všechna PHP funkcionalita šablony.

Příklady funkcí

Vkládané funkce mohou mít prakticky jakýkoliv účel. Níže jsem si dovolil vypsat alespoň nějaké příklady těch nejčastějších z nich.

  • Úprava nastavení a rozšíření WordPress
  • Vytváření custom post type, taxonomií, shortcodů
  • Úprava prvků webu pomocí akcí a filtrů
  • Načítání CSS a Javascriptových souborů
  • AJAX – Javascriptem asynchronně spouštěné PHP funkce
  • CRON – serverem spouštěné PHP funkce a procesy
  • Nastavení uživatelských rolí

Jak se funkce zapisují a používají

Soubor functions.php začíná značkou <?php. Vše za touto značkou je php kód až do chvíle, kdy jej uzavřeš značkou ?>, na konci souboru se tato značka ale neuvádí. Používejte ji tedy pouze pokud php někde dále znovu otevřeš značkou <?php. Na konci souboru určeného pro funkce šablony se tato značka nechává otevřená.

<?php
/**
* Poznámka se píše takto.
*/
// Ale dá se napsat i takto.

Samotná funkce pak může vypadat třeba takto.

<?php
/**
* V libovolné části šablony si pak můžete funkci zavolat uvnitř php značek
*
* nazev_nasi_skvele_funkce() - bez zadaného parametru použije defaultně nastavený řetězec a vrátí string "Ahoj"
* nazev_nasi_skvele_funkce("Nazdar") - vrátí nastavenou hodnotu parametru "Nazdar"
*
* Aby se Vám text na webu zobrazil, tak je třeba použít echo, print_r nebo jinou funkci. 
* Bez toho je výstup funkce použitelný pouze v rámci php kódu.
*/
function nazev_nasi_skvele_funkce(string $parametr = "Ahoj"){
 return $parametr;
}

Jak je možné soubor rozšiřovat

S přibývající množstvím vložených funkcí může velice záhy začít být soubor functions.php značně nepřehledný. Proto se často používá pouze jako rozcestník pro další php soubory obsahující funkce sdružené podle jejich účelu a umístění.

Podružné php soubory s funkcemi se umisťují do samostatné složky v adresáři šablony. Nejčastěji se složka nazývá /inc, /includes, a podobně. Uvnitř této složky bývají podle potřeby další složky.

V souboru functions.php to pak může vypadat nějak takto.

<?php

include( get_template_directory() . "/includes/podruzny-soubor-s-funkcemi.php");

require( get_template_directory() . "/includes/podruzny-soubor-s-funkcemi.php");

require_once( get_template_directory() . "/includes/podruzny-soubor-s-funkcemi.php");

get_template_part("includes/podruzny-soubor-s-funkcemi");

Kód v souboru functions.php a jeho podružných souborech nepiš “naholo”, tedy kromě případu, kdy jen třeba voláš další soubory, jak bylo v předchozí ukázce. Jinak je vždy uzavírej do PHP funkcí a PHP tříd (class).

Zdroje

Reklama
Reklama zdarma, zvýšení návštěvnostiZobrazeno 108 krát.

2 komentářů pro “Soubor functions.php ve WordPress šabloně

%d bloggers like this: