Hi, das mit dem Custom Post Types habe ich mir angesehen, ist eine nette Idee.
Ich habe es glaub ich noch nicht so ganz verstanden wie das ganze funktioniert. Ich habe mir zwar einen custom type registriert nur so ganz erreiche ich die jeweilige Seite nicht.
Ich habe allerdings eine ganz eigene "Datenbank" (nur eigene Tabellen, ich nutze bis auf die wp_options keine tabellen) und auch die entsprechende GUI weil es sehr viele zusammenhängende Daten gibt, und ich dazu gerne auch Fremdschlüssel nutzen möchte was die WP Datenbank so jetzt nicht liefert. Ich versuch mich da mal weiter reinzulesen.
Aber wie er zufall es so will. Für den zweiten Punkt habe ich jetzt eine Lösung gefunden. Ist doch immer so, man sucht 2 Tage, entschließt sich dann, andere damit zu nerven und kommt dann selber auf die Lösung.
Aber für alle die selber mal so ein Problem haben:
[FONT=Courier New]add_filter( 'the_content', 'my_filter' );
function my_filter($content) {
switch($GLOBALS['post']->post_name){
case 'mypagetitle':
return MyClass::MyFunction();
}
return $content;
}[/FONT]
mit add_filter('the_content') legt man fest, dass beim erstellen des Inhalts einer Seite ein Filter angewendet soll welcher sich in der Funktion my_filter() befindet. Als Parameter erhält man den Content der Seite welchen man bearbeiten kann.
Diese Funktion wird nun jedesmal aufgerufen. Im switch-case frage ich den Seitentitel ab ($GLOBALS['post']->post_name) und schaue ob es sich um meine gewünschte Seite handelt. Nun rufe ich meine Funktion auf, welche meinen gewünschten Content erstellt und gebe dies zurück. Handelt es sich nicht um eine meiner gewünschten Seiten, so wird einfach der reine Content unbearbeitet zurückgegeben.
Einfach aber es funktioniert. Mir fehlt noch, dass ich die Seite unter "Seiten" im WP irgendwie kenntlich machen kann wie es bei der "— Beitragsseite" oder "— Startseite" immer dahinter steht. Aber da das Plugin nur für mich selber ist, kann ich das vernachlässigen.