A WordPress webhellyel kapcsolatos problémánkra azt a tanácsot kaptuk/olvastuk az interneten, hogy tegyünk be egy kódrészletet a sablonunk functions.php fájljába. Pontosan hova és hogyan kell beilleszteni, és mennyire biztonságos ez?
TLDR;
Ha nem érdekelnek a részletek, csak az, hogy hogyan kell beilleszteni a kódrészleteket, akkor íme:
1. A WP-Admin felületen menj ide: Megjelenés > Sablonszerkesztő.
2. Ha megjelenik egy figyelmeztető üzenet, kattints az “Oké, megértettem” gombra.
3. A jobb oldalsávban kattints a functions.php fájlra.
4. Görgess le a fájl aljához, és illeszd be a kódot. Ha szerepel a fájl végén a záró ?>
tag, akkor az elé, ha nem szerepel, akkor simán a fájl végére.
5. Kattints a “Fájl módosítása” gombra az oldal alján.
Fontos: ha frissíted a sablont, akkor ez a módosítás el fog veszni. Olvasd el a teljes cikket, hogy megtudd, hogyan lehet ezt elkerülni!
Milyen kódrészletekről van szó?
WordPress weboldal esetén bizonyos funkciók könnyen megoldhatóak rövid kódrészletekkel (“snippetekkel“), amikkel kiválthatunk egy-egy bővítményt – a legtöbb esetben jobban járunk, ha a kódrészletet használjuk, főleg ha a bővítmény a keresett funkció mellett sok más, számunkra feleseleges lehetőséget is tartalmaz.
A functions.php
fájlba illesztett kódrészletekkel többek közt a következő funkciókat lehet elérni:
- Kommentek kikapcsolása
- Alapból letiltott fájlformátumok feltöltésének engedélyezése (pl. SVG, webp)
- Admin menüpontok elrejtése
- A blokk alapú szerkesztő (Gutenberg) kikapcsolása
- Átirányítás bejelentkezés után
- Stb.
Pontosan hova kell helyezni a kódot?
A leggyakrabban az aktív sablon könyvtárában található functions.php
fájlba bemásolandó kódrészleteket fogunk találni az interneten. A különböző WordPress-hez való kódrészleteket néha a wp-config.php
fájlba, vagy a .htaccess
fájlba, vagy máshova kell beilleszteni, de ebben a cikkben csak a functions.php
-ba, vagy esetleg egyéni bővítménybe illesztendő kódokra fókuszálunk.
Az aktív sablonba
A functions.php
-ba helyezhető kódokat a fájl végére kell beilleszteni, de még a záró ?>
tag elé, ha van ilyen tag a fájl alján. A fájl szerkesztéséhez használhatjuk a WordPress saját sablonszerkesztőjét (Megjelenés > Sablonszerkesztő), vagy FTP klienst (a fájl elérési útvonala: /wp-content/themes/aktiv-sablon-neve/functions.php
), vagy a tárhelyszolgáltató fájlkezelőjét is. A fájl szerkesztése előtt erősen ajánlott biztonsági másolatot készíteni róla.
Figyelem
A sablon frissítésekor a fent leírt módon véghezvitt módosítások el fognak veszni. Ezt a módszert csak akkor használjuk, ha egyéni sablont használunk, amihez nem fognak kiadni a fejlesztők frissítéseket.
Származtatott sablonba
Mivel a sablon frissítésekor el fog tűnni a plusz kód, amit a functions.php
-ba beillesztettünk, ezért jobb, ha származtatott sablont használunk (child theme), és annak a functions.php
fájljába illesztjük be a kódokat. A folyamat ugyanaz, mint ha az eredeti sablonba raknánk a kódot.
Származtatott sablont készíthetünk manuálisan, vagy egy plugin segítségével, pl.: Child Theme Configurator (a plugin a származtatott sablon létrehozása után kikapcsolható és törölhető).
Code Snippets bővítménybe
Több plugin is elérhető a WP.org bővítmény-tárban, amik kifejezetten a rövid kódrészletek kezelésére és beillesztésére valók. Ezek közül a legnépszerűbb a Code Snippets plugin, ezzel a WP admin felületéről hozzáadhatunk kódokat, amiket ki-be kapcsolhatunk, mint a bővítményeket.

Egyéni bővítménybe
A functions.php
-ba illesztendő kódokat egy egyéni bővítménybe is rakhatjuk. Ha ezt a módszert választjuk, akkor a sablon váltása után is megmaradnak az extra funkciók az oldalon. Ha több különböző kódrészlethez több különböző egyéni plugint készítünk, akkor könnyen ki-be kapcsolhatjuk majd a funkciókat.
Egyéni bővítményt nagyon egyszerű készíteni, csak hozzunk létre egy új PHP fájlt a következő mappában: /wp-content/plugins/
A fájl neve lehet akármi, pl.:
/wp-content/plugins/egyeni-plugin.php
Rakhatjuk a fájlt egy új mappába is, hogy szervezettebb legyen:
/wp-content/plugins/egyeni-plugin/egyeni-plugin.php
A fájl tartalma a következő legyen:
<?php
/**
* Plugin Name: Egyéni Plugin Neve
* Plugin URI: https://w11.hu/wordpress-functions-php-kodreszletek
* Description: Egyéni plugin leírása.
* Version: 1.11
* Requires at least: 5.7
* Requires PHP: 5.6
* Author: W11 Blog
* Author URI: https://w11.hu/
* License: GPL v2
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: egyeni-plugin
* Domain Path: /languages
*/
A fenti blokkban írjuk át a megfelelő adatokat, és alá illesszük be az egyéni kódrészleteinket. A fenti plugin adatokból a Plugin Name:
sor kivételével az összes adat opcionális, és a fölösleges sorokat kitörölhetjük. Kész is az egyéni plugin!

Tipp
Minden, kódot tartalmazó mappába érdemes berakni egy teljesen üres (vagy maximum egy PHP nyitó tag-et és egy PHP kommentet tartalmazó) index.php
fájlt. Ezzel elkerülhető, hogy a fájlok listáját illetéktelen felhasználók is elérjék, ugyanis bizonyos szerver-beállítások esetén a szerver automatikusan listázza egy könyvtár fájljait és alkönyvtárait, ha a könyvtárban nincs sem index.php
, sem index.html
fájl.
Ez leginkább csak akkor fontos, ha nem tudjuk milyen szerver környezetben fog futni a kódunk. Ha tudjuk, akkor győződjünk meg róla, hogy a könyvtárlistázási funkció ki van kapcsolva.
Kötelezően Használandó Bővítménybe
A kötelezően használandó bővítmények (avagy Must-use plugin, mu-plugin) ugyanúgy működnek, mint a “sima” bővítmények, két különbséggel:
- Nem lehet őket kikapcsolni (“kötelezően használandó”).
- Előbb lefutnak, mint a sima bővítmények, vagy a sablon.
Kötelezően használandó bővítményt ugyanúgy kell készíteni, mint egy normál bővítményt, csak a fájlt a /wp-content/mu-plugins/
mappában kell létrehozni.
Mindegy, hogy sablonba vagy bővítménybe illesztjük be a kódot?
Általában mindegy, hogy a fent felsorolt módszerek közül melyiket választjuk, de nem minden esetben.
Azokat a kódokat, amiket a functions.php
-ba kell helyezni, lehet egyéni bővítménybe, vagy esetleg kötelezően használandó bővítménybe is rakni. Ez fordítva viszont nem feltétlenül igaz: bővítménybe való kódrészlet néha nem fog működni, ha a sablonba rakjuk, mivel a WordPress az alábbi sorrendben futtatja a kódokat, és időnként számít a sorrend:
- Kötelezően használandó bővítmények
- Bővítmények
- Származtatott sablon (ha van)
- (Szülő) sablon
A sorrend miatt a legbiztosabb megoldás, tehát ahol a legtöbb kódrészlet rendesen fog működni, az a kötelezően használandó bővítmény (mu-plugin).
Biztonságosak az ilyen kódrészletek?
Az, hogy mennyire biztonságos, attól függ, mennyire megbízható forrásból származik a kódrészletünk, de általánosságban elmondható, hogy az interneten fellelhető rövid kódrészletek túlnyomó többsége szimplán azt csinálja, ami oda van írva, és nem jelent biztonsági kockázatot.
Hol találhatóak ilyen kódrészletek?
Magyar nyelvű kódrészlet-gyűjtőoldal a PluginHelyett.hu.