WordPress: PHP-Code und PHP-Script einbinden

php-iconwp-icon-150x150Wenn man PHP-Code bzw. bestehende oder neue PHP-Dateien in WordPress einbinden möchte, macht man das am besten im aktuellen Theme von WordPress. Man legt ein sogenanntes Seiten-Template an, welches man bei der Bearbeitung der Seite in WordPress wählen kann. In diesem Template befindet sich dann das gewünschte PHP-Script.

Seiten-Template mit PHP-Code im Theme Ordner von WordPress anlegen

Lege eine neue Datei im Theme-Ordner unter wp-content/theme//deintemplate.php mit folgendem Inhalt an:

<?php
/*
Template Name: DeinTemplate-Name
*/
?>
<?php get_header(); ?>

<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>
<div class="post page"> <h2><?php the_title(); ?></h2> <?php the_content(); ?> </div>
<?php endwhile; ?> <?php endif; ?>
<?php echo "Hier kommt mein tolles PHP-Script bzw. der PHP-Code rein!"; ?>
<?php get_footer(); ?>

Wichtig hierbei ist der Kommentar, der unbedingt enhalten sein muss. WordPress erkennt anhand des Strings "Template Name", das es sich um ein Template handelt. Die Funktion get_header bindet das Header Template ein (wie gewohnt) und die Funktion get_footer das Footer-Template. Nach dem Header wird mit den Post-Funktionen der Inhalt der Seite, also die Headline und der Text, ausgelesen.
Anstelle des echo-Befehles (Hier kommt mein…) kann jetzt gewünschter PHP-Code eingefügt werden.

Seiten-Template auswählen und Seite mit PHP-Code anlegen

Jetzt kannst du im WordPress-Admin in der Seiten-Verwaltung unter "Seiten" ganz normal eine Seite anlegen und auf der rechten Seite neben dem Formular das erstellte Seiten-Template mit dem Namen aus dem Kommentar auswählen. Seite veröffentlichen und schon wird der Code (der hoffentlich fehlerfrei ist) auf der erstellten Seite ausgeführt.

Das Verfahren kann man natürlich beliebig weiterführen und komplexere Anwendungen in das Template einbinden. Das kurze Tutorial hier soll lediglich als Einstieg in dieses Thema dienen.

Mehr Info bei WordPress: Theme-Page-Templates

Dir gefällt dieser Beitrag?
Erhalte Updates. Kostenlos.

26 Kommentare

  • 1. Danke, auch mir hat es geholfen!
    2. VERBESSERUNGS-Vorschlag:
    Als relativ neuer WordPress Benutzer hatte ich 'wp-content/theme//' für einen Tippfehler gehalten, es gab in meinem Baum 'wp-content/themes/'
    Nach längeren Suchen, weshalb es bei mir nicht funktionierte, wurde mir schließlich die Lösung klar:
    'wp-content/theme//' meint 'wp-content/NAME_DES_VERWENDETEN_THEMES/'
    Deshalb wäre für mich deutlicher anstelle von
    "Lege eine neue Datei im Theme-Ordner unter wp-content/theme//deintemplate.php mit folgendem Inhalt an:"
    die Zeile gewesen:
    "Lege eine neue Datei im Theme-Ordner unter wp-content//deintemplate.php mit folgendem Inhalt an:"
  • Entschuldigung, müßte natürlich

    'wp-content/themes/NAME_DES_VERWENDETEN_THEMES/'

    lauten.
  • ich stand bei meiner seite auch vor dem problem. allerdings wollte ich nicht nur php sondern auch javascript mit einbauen. ich hab dafür das plugin: Code Snippets (die Pro Variante braucht man da nicht unbedingt) verwendet und konnte so die tools von meiner alten seiten mit in wordpress übernehmen, zu 90% hat es 1zu1 geklappt, bei einem tool bin ich noch am basteln -> könnt es gern anschauen unter https://www.webmaster.de -> navigation und tools. diese sind alle über das code snippets plugin umgesetzt. (bin auch kein freund davon im wordpress code groß rumzubasteln)
  • Genau das habe ich gesucht. Vielen Dank an dich!
    Gruß von Armin
  • Vielen Dank, mit dem Artikel hast du mir sehr weitergeholfen!
  • Hi,

    das klappt super. Ich habe es im Root Verzeichnis des Templates gespeichert.
    Leider passiert es, dass wenn das Template aktualisiert wird, die von mir erstellten Dateien gelöscht werden. Hast du eine Idee wie man das umgehen kann?
    Benutze das Vantage Template.
  • Das Template wird vielleicht gelöscht, aber die seiten die damit erstellt wurden nicht.
    Speicher dir das template einfach ab irgendwo
  • Hi,
    Danke für deine Antwort. Ich habe den Anfänger Fehler gemacht und habe es direkt im Template ausgeführt.
    Beim Template Update wurde es dann gelöscht.
    Ich habe dann ein "Child" Template angelegt womit es dann geklappt hat.
  • Hallo,

    klasse Tipp, hat mir sehr geholfen!

    Vg Marcus
  • Ich habe einen halben Tag lang mit Script-Einbindungs-Plugins gebastelt, dabei ungefähr fünfmal die Nerven verloren und den Bettel hingeschmissen. Dann hat mich Google erlöst und auf diese Site geführt. Und siehe: Alles funktioniert perfekt! Ganz, ganz herzlichen Dank für diesen wirklich tollen und hilfreichen Tipp! Damit funktioniert sogar die einigermassen komplexe Anwendung des Ajax Availability Calendar.
  • Danke, genau danach habe ich gesucht. Kein Blabla, dafür Informationen die zum Ziel führen. Bitte weiter so.
  • Hallo Joachim,

    vielen Dank, das freut mich.

    Viele Grüße
    Nico
  • sehr coole Zusammenstellung, damit kann ich super arbeiten
  • Cool, nun bin ich schon mal einen Schritt weiter, denn das Skript läuft!
    Leider komme ich aber mit getheader() / getfooter() nicht zum Ziel.
    Das scheint wohl mit dem Headway-Theme zusammen zu hängen, oder?
    Hat jemand eine Idee?
  • Coole Sache!
    Funktioniert soweit.
    Nur was muss ich beachten, wenn ich das Headway-Theme benutze?
    Denn da scheint get_header() und get_footer() so ohne Weiteres nicht zu greifen.
    Vielen Dank und Gruß,
    Axel
  • hey danke. das habe ich gesucht!
  • vielen Dank für die Info hier. Ich benötige ebenfalls php-code in meinen Blogs. Hab es probiert... und funktioniert. ;-)
    LG Marina
  • Bekomme die Fehlermeldung "Es fehlt ein Stylesheet"
  • Vielen Dank für die kurze und gute Anleitung. Da bekomme ich schon wieder richtig Lust mehr mit WP zu machen.
  • Danke - habe soeben nach der Möglichkeit gegooglet, deine Seite gefunden und direkt angewendet.
  • habs gelöst.

    man kann in einer bestimmten datei, an der richtigen stelle was rein bringen.

    is aber nicht ganz so einfahc erklärt.
  • Habe im Grunde genommen nichts dazu zu sagen, außer dass ich mich bedanken möchte! :-)

    Du hast mit deinem Artikel genau DAS auf den Punkt gebracht, was ich gesucht habe und hast mir damit sehr geholfen!

    Danke dafür noch mal!!!
  • Das würde mich auch interessieren.. Vorallem innerhalb eines Artikels..
  • aber wie kann man in schon vorhandene seiten und strukturen php code einfügen ???

    z.b. eine seite ist schon vorhanden, soll aber durch ein inlcude("meine_fotoshow"); ergänzt werden !!!

Was denkst du?