• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[Wordpress] WordPress include

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Liebe Community!

Ich habe einen PHP-Kalender programmiert, welchen ich jetzt in mein WordPress Template laden möchte.
In der Schleife habe ich folgende Abfrage:
Code:
<?php[INDENT]the_content();[/INDENT]
global $post;
if(($post->post_name) == 'cal_init')
{
include(get_bloginfo('template_url').'/kalender/index.php');
echo('geht das?');
}
?>
In die Seite schreibe ich dann in den slug "cal_init".
Der conditional tag funktioniert soweit schon mal, denn wenn ich den echo drin habe, kommt das auch so raus.

Allerdings bleibt der Rest der Seite leer.
Die PHP Datei wird also nicht in meinen Inhalt geladen.


Hat jemand von euch vielleicht eine Idee oder Anregung zum Thema?
Vielen Dank schon mal
Liebe Grüße
 

joro

Braeburn
Registriert
12.06.10
Beiträge
45
Hallo,
sieht mir nach einem Pfad Problem aus.
Du kannst ja testweise mal
Code:
echo get_bloginfo('template_url').'/kalender/index.php';
eingeben um zu sehen was rauskommt.

Es sollte mit
Code:
include(get_template_directory(). '/kalender/index.php');
funktionieren. Wenn ich davon ausgehe, das dein Kalender in /wp-content/themes/deintheme/kalender/ ist. Und du eventuell keine URLs includen kannst. Und da nicht noch ein anderer Fehler hintersteckt.

Liebe Grüße,
joro
 

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Na daran dachte ich selbstverständlich auch zuerst.
Das mit dem echo(); hab ich natürlich zu allererst getestet.

Und wenn ich den dort ausgegebenen Pfad kopiere und besuche, wird die PHP Datei auch entsprechend ausgegeben.
Also kann ich auch ein Problem mit der PHP Datei ebenfalls ausschließen.

Theoretisch gesehen sollte das funktionieren, ist mir schon klar…
Jetzt fragt sich halt nur noch, was das für ein anderes Problem sein könnte. Scheinbar wird das Inkludieren irgendwie untersagt.


Wäre schon lustig, wenn da jemand das Problem kennt…
 

joro

Braeburn
Registriert
12.06.10
Beiträge
45
Hallo,
nur damit wir uns nicht falsch verstehen...
Hast Du mein Beispiel Code ausprobiert?
Manche Hoster haben in der php.ini alow_url_include ausgeschaltet.
Demnach würde get_bloginfo('template_url') nicht funktionieren, weil das Ergebnis eine URL ist.
Das benutzt man eigentlich um z.B. Stylesheets, Javascript, oder Bilder in das Template einzubinden.

get_template_directory() ist dann was du suchst. Wordpress blockt kein include.

Sollte der Pfad aber richtig sein, muss der Fehler an deinem Kalender liegen. Du kannst ja testweise eine einfache PHP Datei anlegen, mit echo 'Test'; welche Du includest. Dadurch siehst Du, sofern es angezeigt wird, ob eventuell dein Kalender einen Fehler hat.

Liebe Grüße,
joro
 

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Wie schon gesagt.
echo(); habe ich als erstes gleich getestet.

WordPress läuft super und die URL wird auch richtig angezeigt.
Sprich wenn ich den Output von echo(); in die Adresszeile kopiere, wird mein Kalender auch absolut richtig angezeigt, ohne Probleme...

Ich habe jetzt testweise eine PHP genau neben dem Kalender angelegt und include() verwendet.
Da fiel mir beim testen auf, dass ich relative Pfade nehmen muss.

Damit ist die gesamte Geschichte mit WorPress Funktionen total hinfällig. Ich hab jetzt einfach include('kalender/index.php'); benutzt.
Und das funktioniert jetzt auch.

Das ist mal wieder der typische Wald vor lauter Bäumen gewesen.
Normaler weise wäre der relative Pfad das Erste, was ich ausprobiert hätte…


Aber danke. Du hast mir auf jeden Fall den richtigen Denkanstoß (auch wenn anders gemeint) gegeben ;)
Also ist jetzt alles geklärt.

Danke und Grüße
 

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Ich würde ganz gerne eine URL Variable mit angeben.
include('index.php?cat=sowienoch');
geht allerdings nicht.

Hab ich da eine andere Möglichkeit, als via XMLHttpRequest??
 

joro

Braeburn
Registriert
12.06.10
Beiträge
45
Hi,
wenn Du meine Antwort noch ein drittes mal liest, dann siehst Du doch das meine Lösung Dir den absoluten Pfad ausgibt, statt einer URL, wie Dein erster Ansatz war.
Nun gut, jetzt egal, Du hast es ja hinbekommen.

Du includest die Datei doch. Also kannst du doch direkt die Variable in Deinem Script abfragen.

Liebe Grüße,
joro