knarzer77: Problem bei Wordpress-Include

Hallo,

ich versuche gerade, in meine Website Wordpress zu integrieren: Dazu habe ich ein Seite "templ.inc" mit meinen Elementen (Menü, ....) und eine Zeile mit {output}.

Die aufzurufende Datei index.php sieht so aus:

  
<?php  
ob_start(); // echo-Ausgaben zum Browser abfangen und im Puffer speichern  
  
$template_datei = './templ.inc'; // Pfad zur Template-Datei  
$scriptverzeichnis = './wp-includes/'; // Script-Verzeichnis  
  
// die Haupt-HTML-Datei laden (mit "{-output}")  
include $template_datei;  
$html1 = ob_get_contents();  
ob_clean();  
  
//  
include $scriptverzeichnis.'template-loader.php';  
$html2 = ob_get_contents();  
ob_clean();  
  
$html1 = str_replace('{output}', $html2, $html1); // Template schreiben  
  
// HTML-Grundgerüst fertigstellen  
echo $html1;  
ob_end_flush(); // Puffer ausgeben  

Das ganze dient dazu, um den Can't modify header - Fehler zu verhindern.

Was nun komisch ist: Ich rufe index.php auf, das Script macht daraus ein index.php/
Das hat zu folge, das meine relativen Pfade (css-Dateien, ...) nicht mehr gefunden werden, weil anscheinend index.php/ ein Verzeichnis darstellt.

Das scheint an dem template-loader.php von Wordpress zu liegen. Mit anderen Scripten funktioniert es nämlich.

Meine Idee war nun, dass ich in diesem Script den Slash aus der URL lösche, weiß aber nicht, wie.

Weiß jemand Rat?

Viele Grüße
Jan

  1. echo $begrüßung;

    Was nun komisch ist: Ich rufe index.php auf, das Script macht daraus ein index.php/
    Meine Idee war nun, dass ich in diesem Script den Slash aus der URL lösche, weiß aber nicht, wie.

    Formulere "Wenn die Teilzeichenkette bestehend aus einem Zeichen von rechts einem / entspricht, erstelle eine um ein Zeichen von rechts gekürzte neue Zeichenkette" als Programmcode. Oder such die passende Stelle im Wordpress-Code und versuche herauszufinden, ob das ein Bug oder ein Feature ist und wie man das vielleicht umgehen kann.

    echo "$verabschiedung $name";

    1. Hallo,

      Formulere "Wenn die Teilzeichenkette bestehend aus einem Zeichen von rechts einem / entspricht, erstelle eine um ein Zeichen von rechts gekürzte neue Zeichenkette" als Programmcode.

      OK, danke. Ist an sich klar. Allerdings weiß ich nicht, wie ich vor dem echo der gesamten Seite die URL checken und ggf. ändern kann.
      In Wordpress selber bewirkt der Aufruf "do_action('template_redirect');" das Anhängen des Slashes. Nach dem Auskommentieren kann ich erstmal damit arbeiten. Ich vermute, dass mit dieser Zeile benutzerfreundliche URL's erstellt werden (für mich nicht interessant). Leider bin ich dann in php nicht so fit, um alles zu verstehen.

      Viele Grüße
      Jan