PHP i WordPress

Hat du nogensinde undret dig over hvordan dit WordPress site kan vise dynamisk indhold, håndtere brugerinteraktioner og interagere med et utal af plugins? Svaret på dette er et meget kraftigt script sprog kaldet PHP.

1. WordPress’ hjerte er skrevet i PHP

Fra det øjeblik du installerer WordPress, er PHP kernen i næsten alt hvad der sker. Hele WordPress’ grundlæggende system, er en omfattende samling af PHP-filer og scripts.

  • Opstart og indlæsning: Når en besøgende lander på en side, er det PHP-scripts (index.php, wp-load.php i WordPress roden), der starter processen med at bygge den side, brugeren ser.
  • Databehandling: PHP håndterer kommunikationen med din WordPress-database (typisk MySQL, MariaDB). Når du opretter et nyt blogindlæg, en side, eller når WordPress kan hente dine eksisterende indlæg for at vise dem, er det PHP-kode, der formulerer databaseforespørgslen, sender dem afsted, modtager resultaterne og behandler dem.
  • Brugerhåndtering: Login-systemet, brugerroller, adgangskontrol – alt dette styres af PHP-logik.
  • URL-struktur (Permalinks): Den måde WordPress omdanner pæne URL’er til interne forespørgsler, så den rigtige side eller det rigtige indlæg vises, er også PHP-drevet. Man kan sige at PHP er som WordPress’ dna: det definerer, hvad WordPress er, og hvad det fundamentalt kan. Uden PHP ville WordPress bare være en samling af statiske filer.

2. Teamer: Din hjemmesides design og struktur – bygget med PHP

Et WordPress tema er meget mere end bare farver og skrifttyper (CSS). Selve strukturen og layoutet af din hjemmeside, og hvordan dit indhold præsenteres, er defineret af PHP-filer i dit tema.

  • Skabelonfiler: Et tema består af en række PHP-skabelonfiler såsom:
    • header.php (definerer sidens top, ofte inklusiv logo og hovednavigation)
    • footer.php (definerer sidens bund)
    • sidebar.php (definerer sidens sidebar, hvis dit tema bruger en)
    • index.php (en fallback-skabelon, ofte brugt til blogarkivet)
    • page.php (bruges til at vise enkelte sider)
    • single.php (bruges til at vise enkelte blogindlæg)
    • archive.php (bruges til at vise kategori-, tag-, eller datoarkiver)
  • Dynamisk indhold med PHP: Inde i disse skabelon-filer bruges PHP-funktioner (også kaldet “template tags”) til at hente og vise dynamisk indhold:
    • The Loop: Den berømte WordPress Loop (if (have_posts()) : while (have_posts()) : the_post(); … endwhile; endif;) er en PHP-konstruktion, der går igennem hvert indlæg, der skal vises på en given side.
    • Template Tags: Inde i The Loop bruges funktioner som the_title() (viser indlæggets titel), the_content() (viser hovedindholdet), the_date() (viser datoen), the_category() (viser kategorier), get_header(), get_footer(), wp_nav_menu() (viser din menu) osv. Alle disse er PHP-funktioner.
  • Logik i Temaet: Dit tema kan også indeholde PHP-logik til f.eks. at vise forskelligt indhold baseret på, om brugeren er logget ind, eller til at ændre layoutet afhængigt af sidetypen.

Temaets PHP-filer er altså som arkitekttegningerne og byggevejledningen for din hjemmesides udseende og den måde, dit unikke indhold bliver præsenteret på.

3. Plugins: Udvid Funktionaliteten med PHP’s Kraft

Plugins er det, der gør WordPress utroligt fleksibelt og kraftfuldt. Et plugin er i bund og grund en pakke af PHP-kode (ofte suppleret med JavaScript, CSS og billeder), der tilføjer ny funktionalitet til din side eller ændrer WordPress’ standardopførsel.

  • Eksempler:
    • ACF (Advanced Custom Fields): Dette plugin bruger PHP til at give dig en brugerflade til at oprette brugerdefinerede felter. Når du gemmer data i disse felter, bruger ACF PHP til at gemme dem i databasen (typisk i wp_postmeta-tabellen). Og når du henter dataene med get_field(‘feltnavn’) i din kode, er det en PHP-funktion fra ACF plug-inet du kalder.
    • Code Snippets: Dette plugin giver dig en sikker måde at tilføje dine egne custom PHP-kodeblokke (som vores shortcode-funktioner) til din side uden at skulle redigere dit temas functions.php-fil direkte.
  • Hooks (Actions og filtre): En af de mest geniale ting ved WordPress (og PHP’s rolle heri) er systemet af “hooks”. Plugins (og temaer) bruger add_action() og add_filter() til at “koble sig på” specifikke steder i WordPress’ kernekode eller andre plugins’ kode. Dette tillader dem at køre deres egen PHP-kode på bestemte tidspunkter eller at modificere data, før det vises eller gemmes, uden at skulle ændre i kernefilerne.

Absolut! Det er en god idé at uddybe de punkter, for PHP’s rolle i WordPress er virkelig central. Her er en udvidet forklaring, der egner sig godt til et blogindlæg, og som bygger videre på det, vi allerede har talt om:


PHP i WordPress: Motoren Under Kølerhjelmen på Din Hjemmeside

Har du nogensinde undret dig over, hvad der får din WordPress-hjemmeside til at tikke? Hvordan den kan vise dynamisk indhold, håndtere brugerinteraktioner og integrere med et utal af plugins? Svaret på meget af dette findes i et kraftfuldt scriptsprog kaldet PHP. Lad os dykke ned i, hvordan PHP er fundamentet i WordPress-universet.

1. WordPress’ Hjerte er Skrevet i PHP

Fra det øjeblik du installerer WordPress, til den daglige drift, er PHP kernen i næsten alt, hvad der sker. Hele WordPress’ grundlæggende system – den såkaldte “kerne” (core) – er en omfattende samling af PHP-filer og scripts.

  • Opstart og Indlæsning: Når en besøgende lander på din side, er det PHP-scripts (som index.php og wp-load.php i WordPress-roden), der starter processen med at bygge den side, brugeren ser.
  • Databehandling: PHP håndterer kommunikationen med din WordPress-database (typisk MySQL/MariaDB). Når du opretter et nyt blogindlæg, en side, eller når WordPress skal hente dine eksisterende indlæg for at vise dem, er det PHP-kode, der formulerer databaseforespørgslerne, sender dem afsted, modtager resultaterne og behandler dem.
  • Brugerhåndtering: Login-systemet, brugerroller, adgangskontrol – alt dette styres af PHP-logik.
  • URL-struktur (Permalinks): Den måde WordPress omdanner pæne URL’er (f.eks. dinside.dk/om-os/) til interne forespørgsler, så den rigtige side eller det rigtige indlæg vises, er også PHP-drevet.

Man kan sige, at PHP er som WordPress’ DNA; det definerer, hvad WordPress er, og hvad det fundamentalt kan. Uden PHP ville WordPress blot være en samling statiske filer.

2. Temaer: Din Hjemmesides Design og Struktur – Bygget med PHP

Et WordPress-tema er meget mere end bare farver og skrifttyper (CSS). Selve strukturen og layoutet af din hjemmeside, og hvordan dit indhold præsenteres, er defineret af PHP-filer i dit tema.

  • Skabelonfiler (Template Files): Et tema består af en række PHP-skabelonfiler, såsom:
    • header.php (definerer sidens top, ofte inklusiv logo og hovednavigation)
    • footer.php (definerer sidens bund)
    • sidebar.php (definerer sidebaren, hvis dit tema bruger en)
    • index.php (en fallback-skabelon, ofte brugt til blogarkivet)
    • page.php (bruges til at vise enkelte sider)
    • single.php (bruges til at vise enkelte blogindlæg)
    • archive.php (bruges til at vise kategori-, tag-, eller datoarkiver)
  • Dynamisk Indhold med PHP: Inde i disse skabelonfiler bruges PHP-funktioner (også kaldet “template tags”) til at hente og vise dynamisk indhold:
    • The Loop: Den berømte WordPress Loop (if (have_posts()) : while (have_posts()) : the_post(); ... endwhile; endif;) er en PHP-konstruktion, der går igennem hvert indlæg, der skal vises på en given side.
    • Template Tags: Inde i The Loop bruges funktioner som the_title() (viser indlæggets titel), the_content() (viser hovedindholdet), the_date() (viser datoen), the_category() (viser kategorier), get_header(), get_footer(), wp_nav_menu() (viser din menu) osv. Alle disse er PHP-funktioner.
  • Logik i Temaet: Dit tema kan også indeholde PHP-logik til f.eks. at vise forskelligt indhold baseret på, om brugeren er logget ind, eller til at ændre layoutet afhængigt af sidetypen.

Temaets PHP-filer er altså som arkitekttegningerne og byggevejledningen for din hjemmesides udseende og den måde, dit unikke indhold bliver præsenteret på.

3. Plugins: Udvid Funktionaliteten med PHP’s Kraft

Plugins er det, der gør WordPress utroligt fleksibelt og kraftfuldt. Et plugin er i bund og grund en pakke af PHP-kode (ofte suppleret med JavaScript, CSS og billeder), der tilføjer ny funktionalitet til din side eller ændrer WordPress’ standardopførsel.

  • Eksempler vi har arbejdet med:
    • ACF (Advanced Custom Fields): Dette plugin bruger PHP til at give dig en brugerflade til at oprette brugerdefinerede felter. Når du gemmer data i disse felter, bruger ACF PHP til at gemme dem i databasen (typisk i wp_postmeta-tabellen). Og når du henter dataene med get_field('feltnavn') i din kode, er det en PHP-funktion fra ACF-plugin’et, du kalder.
    • Code Snippets: Dette plugin giver dig en sikker måde at tilføje dine egne custom PHP-kodeblokke (som vores shortcode-funktioner) til din side uden at skulle redigere dit temas functions.php-fil direkte.
    • wpDataTables: Selvom det har en flot brugerflade, bruger wpDataTables PHP i baggrunden til at forbinde til datakilder (som din SQL-database eller WordPress CPT’er), behandle dataene, og generere den HTML og JavaScript, der skal til for at vise de interaktive tabeller.
  • Hooks (Actions og Filtre): En af de mest geniale ting ved WordPress (og PHP’s rolle heri) er systemet af “hooks”. Plugins (og temaer) bruger add_action() og add_filter() til at “koble sig på” specifikke steder i WordPress’ kernekode eller andre plugins’ kode. Dette tillader dem at køre deres egen PHP-kode på bestemte tidspunkter eller at modificere data, før det vises eller gemmes, uden at skulle ændre i kernefilerne.

Plugins er som specialiserede moduler eller apps, du kan installere på din WordPress-platform, og PHP er det sprog, de er skrevet i for at kunne udføre deres magi.

4. Shortcodes: Små PHP-programmer direkte i dit indhold

De shortcodes, vi har lavet (som f.eks. [shortcode_navn]), er et perfekt eksempel på PHP i aktion på en meget brugervenlig måde. Et shortcode er en WordPress-specifik feature, der fungerer som et alias for en PHP-funktion.

  • Registrering: Med PHP-funktion add_shortcode('mit_shortcode_navn', 'min_php_funktion'); fortæller du WordPress, at hver gang den støder på tagget [mit_shortcode_navn] i indholdet af en side eller et indlæg, skal den køre PHP-funktionen min_php_funktion.
  • Udførelse: Når en side med en shortcode vises:
    • WordPress parser sidens indhold
    • Når den ser [shortcode_navn], stopper den midlertidigt den normale HTML-gengivelse.
    • Den kalder den PHP-funktion, du har knyttet til dette tag.
    • Din PHP-funktion udfører så sin logik: den henter data fra ACF, laver en WP_Query for at finde de relevante ‘Kursusudbud’-indlæg, bygger en HTML-tabelstreng baseret på disse data, og håndterer betinget logik for f.eks. tilmeldingslinket.
    • PHP-funktionen returnerer den færdige HTML-streng.
    • WordPress tager denne returnerede streng og indsætter den på siden, der hvor [shortcode_navn]-tagget stod.
  • Fleksibilitet: Dette er utroligt kraftfuldt, fordi det tillader dig (eller andre brugere af siden) at indsætte komplekst, dynamisk genereret indhold hvor som helst ved blot at skrive et simpelt tag, uden at skulle røre ved PHP-kode hver gang.

Vores arbejde med [shortcode_navn] er et glimrende eksempel på, hvordan en custom PHP-funktion kan tage input (via ACF-felter valgt på siden) og dynamisk generere skræddersyet input.

Vil du læse mere?