auf meiner eigentlichen Seite... ja... auf meinem localhost... noch nicht, aber warte mal... teste ich eben....
Beiträge von Arno Simon
-
-
PS und welchen Effekt erzielen wir durch das Umsetzen des Hacks?
Der Hack greift an einer früheren Stelle ein, nämlich unmittelbar nach Aufbau der Verbindung zur Datenbank, wenn noch keinerlei Links etc. generiert wurden. Dadurch stehen die neuen Daten jetzt früh genug in der DB um Einfluß auf die soeben gestartete Seite zu haben.
-
den effekt hatte ich auch. habe gerade mal nachgesehen, ob es einen besseren Ort für den hack als die wp-blog-header.php gibt und den gibt es.
nimm ihn dort heraus und setze ihn in die wp-settings.php. Ab Zeile 70 (WP1.5.2) findest Du dort folgendes Coding:
Dazwischen setzt Du jetzt das require_once:
PHP$wpdb->postmeta = $table_prefix . 'postmeta'; require_once( dirname(__FILE__) . '/as-switch.php'); if ( defined('CUSTOM_USER_TABLE') )Du darfst aber nicht erwarten, vom selben Rechner aus via LocalHost _und_ via Internet auf Deine Seite zugreifen zu können, das geht nicht. Wenn Du am Localhost-Rechner bist, mußt Du via Localhost arbeiten und von anderen via Internet - auch wenn Du Dich in einem lokalen Netzwerk befindest! Andernfalls müßte die IP-Weiche noch so umgebaut werden, das Dein lokales Netzwerk Berücksichtigung findet und das ist nun doch für den Moment mit Kanonen auf Spatzen geschossen...
vG
Arno
-
es kann sein, das die neuen Inhalte in der DB etwas zu spät "verfügbar" sind (caching), dann muß man nochmal per F5 refreshen. ich teste es auch gerade von 2 rechnern aus. dauert noch ein paar minuten.
vG
Arno
-
Hi Stein,
ja ich habe das Beispiel getestet, ebenfalls mit einer statischen Startseite, allerdings ist diese über mein eigenes PlugIn gesteuert und nicht über das sem_start_page oder wie's heißt.
vG
Arno
PS Wenn ich wieder zu Hause bin, kann ich ja mal eine Testseite damit aufsetzen, auf welcher Du Dich austoben kannst ;) :D -
Ich bin dafür zumindest die Dokumente die direkte 1:1-Entsprechungen mit dem Codex aufweisen mit der selben Struktur zu versehen, wie eben jenen.
vG
Arno -
Hi Babbix,
sorry, dein "no-ip.info"-Dienst arbeitet etwas anders als "heimserver.de" (wo ich bin) und routet die Inhalte geradewegs durch, was auch besser so ist ;) Bei heimserver.de werden die Inhalte zunächst einmal abgefangen und dann weitergegeben, wodurch sich weitere Arbeiten, als das was ich gleich beschreibe, ergeben.
Du hast Deine Seite auf dem Localhost aufgesetzt, wodurch unter anderem in der Tabelle wp-options die beiden Einträge "siteurl" und "home" auf localhost eingetragen wurden.
Beim Aufruf aus dem Internet wird Dir zwar jetzt Dein Content, welcher aus den $_GET-IDs ermittelt wird, korrekt ausgegeben, alle anderen URL-Angaben werden jedoch aus der Datenbank generiert - auch die Urls für das Style-Sheet und für die auszugebenden Grafiken.
Um jetzt sowohl auf dem Localhost als auch aus dem Internet heraus arbeiten zu können, muß WordPress registrieren, von wo es denn nun aufgerufen wird, um die beiden oben genannten Einträge in der wp-options so einstellen zu können, das es einerseits vom Localhost und andererseits aus dem Internet heraus funktioniert.
Dazu ist 1. ein kleiner Hack in der /blog/wp-blog-header.php notwendig. Füge dafür ziemlich am Anfang der Datei zwischenfolgendes
ein, so das diese Stelle nun so
PHP$wp_did_header = true; require_once( dirname(__FILE__) . '/as-switch.php'); $query_vars = array();aussieht.
Der 2. Schritt:
In der WordPress-Root (Verzeichnis /blog/ setze ich jetzt hier mal vorraus, anderes mußt Du anpassen), in welcher auch die wp-blog-header.php liegt, legst Du jetzt eine Datei
as-switch.php an und fügst folgenden Quelltext ein:PHP
Alles anzeigen<?php global $wpdb; if($_SERVER['SERVER_ADDR'] != $_SERVER['REMOTE_ADDR']) { $erg = $wpdb->query("UPDATE $wpdb->options " ." SET option_value = 'http://babbix.no-ip.info/blog/'" ." WHERE option_name = 'siteurl'"); //echo $erg.'x siteurl auf heimserver.de gesetzt...</br>'; $erg = $wpdb->query("UPDATE $wpdb->options " ." SET option_value = 'http://babbix.no-ip.info/blog/'" ." WHERE option_name = 'home'"); //echo $erg.'x home auf heimserver.de gesetzt...</br>'; } else { $erg = $wpdb->query("UPDATE $wpdb->options " ." SET option_value = 'http://localhost/blog/'" ." WHERE option_name = 'siteurl'"); //echo $erg.'x siteurl auf localhost gesetzt...</br>'; $erg = $wpdb->query("UPDATE $wpdb->options " ." SET option_value = 'http://localhost/blog'" ." WHERE option_name = 'home'"); //echo $erg.'x home auf localhost gesetzt...</br>'; } ?>Dieses Coding prüft nun, ob Deine WebSite aus dem Internet oder Lokal von Deinem Rechner aufgerufen wird. Je nach dem von wo aus Deine Seite aufgerufen wird, werden nun die beiden oben genannten Einträge in Deiner Datenbank zwischen den Internet und dem Localhost hin und her geschaltet, so das auch die Urls für Grafiken und das Stylesheet dementsprechend angepasst werden.
Du siehst, es ist letztlich ein IP-Problem und kein Style-Problem ;)
vG
Arno[edit]ein zuviel gepastetes require_once entfernt[/edit]
-
Das Problem ist, das über diese "Heimserver"-Dienste (wie no-ip.de; heimserver.de etc.pp.) in der Regel Deine Seite innerhalb eines Frames nach außen geladen wird. Das selbe Problem habe ich mit meinem eigenen Heimserver auch. Habe mir damit beholfen in den header.php eine ip-weiche einzubauen.
PHPif($_SERVER('SERVER_ADDR') == $_SERVER['REMOTE_ADDR']) { /* Hier folgt das normale html-link-Tag im Header um die CSS-Datei anzugeben. Man arbeitet lokal */ } else { echo '<style=.....'; // Hier kommt der normale Tag zur Einleitung der ins HTML integrierten Style-Angaben hin // jetzt mit geeigneten PHP-Befehlen die CSS-Datei auslesen und per Echo hier ausgeben. echo '</style>'; // Das ganze muß innerhalb des Headers geschehen }
Detailierter kann ich jetzt nicht darauf eingehen, weil ich auf der Arbeit sitze.
vG
Arno -
Hallo Johannes,
ich habe mir gedacht das es Sinnvoll währe die Template_Tags (haben ja einige andere schon versprochen, aber nicht gemacht :( ) zu übersetzen und mich dann mal daran gemacht die "Category Tags" (oben rechts) zu übersetzen. Die ersten beiden Punkte sind schon durch.
Sofern von Seiten des Kern-Doku-Teams nicht eine andere Vorgehensweise bevorzugt wird, habe ich mir erlaub den Inhalt erstmal aus dem Codex zu klauen und dann zu übersetzen. Sofern mir "Ergänzenswertes" auffallen würde, würde ich das aus meiner Sicht dann auch entsprechend machen.
vG
Arno -
mal eine kleine Gegenfrage: Was hat es mit diesen Includes auf sich?
Vielleicht willst Du mit diesen Includes ja etwas erreichen, wofür von WP eine ganz andere Vorgehensweise vorgesehen ist!
vG
Arno -
[FONT=Verdana]In Deinem Fall würde ich eher auf die direkte DB-Auslesung gehen. RSS ist IHMO eine sinnvolle Sache, will aber auch Sinnvoll angewendet werden.[/FONT]
[FONT=Verdana][/FONT]
[FONT=Verdana]Wenn man, wie in Deinem Fall, direkten Zugriff auf die Datenbank hat, ist RSS in meinen Augen aus dem Rennen. RSS ist IMHO nur dann Sinnvoll, wenn man keinen Zugriff auf die Datenbank hat.[/FONT]
[FONT=Verdana][/FONT]
[FONT=Verdana]In Deinem Fall mußt Du erstmal das was Du per RSS ziehst mehr oder minder Mühsam wieder auseinander nehmen um dann Deine eigene Seite daraus zu generieren.[/FONT]
[FONT=Verdana][/FONT]
[FONT=Verdana]vG[/FONT]
[FONT=Verdana][/FONT]
[FONT=Verdana]Arno[/FONT]
[FONT=Verdana][/FONT]
[FONT=Verdana]PS Und hast Du Dir jetzt überlegt ob Du auch Deine eigene index.php auf UTF-8 umstellst? Währe die einfachste Lösung aller Deiner Probleme..... ;) [/FONT] -
Moin Moin,
vor dem Hintergrund der - wohl bald in's Haus fallenden - WP2.0 stellt sich mir die Frage, ob es sinnvoll ist noch arbeit in das deutsche Wiki zur 1.5.x zu stecken oder die entsprechende Energie aufzusparen und solange zu warten bis die 2.0 draussen ist....
Habe heute mal eine Seite abgeändert, eine Seite neu erfaßt (übersetzt) und eine Seite mit dem Inhalt versehen, welchen diese auch im Codex hat....
Wenn derzeit Fraglich ist, wieviele Änderungen mit der 2.0 dann noch eingearbeitet werden müssen und gesagt wird, das sich die Aufarbeitung der 1.5.xer Doku nicht mehr lohnt, lass ich das ganze. Ansonsten würde ich versuchen in der Woche so etwas gegen 3 Seiten des Wikis zu bearbeiten.
vG
Arno -
und jetzt schau bitte mal in deine seite, welches template dort eingetragen ist. wenn es "standard" ist und in deinem theme eine page.php existiert, schiebe die mal, so wie die wp-contactform.phps gerade, in das andere verzeichnis und benenne sie um. existiert diese nicht, wird über die index.php gegangen, dann hätte ich die ganz gerne mal gesehen.
die wp-contactform.php(s) sieht eigentlich ganz normal aus.
vG
Arno -
was das styling angeht ist css4you.de dein freund und helfer ;)
-
Nunja, die richtige Anzeige der Entities erschwert Dir der unterschiedliche Zeichensatz Deiner eigenen index.php (wahrscheinlich ISO 8859-1 oder so) und des Zeichensatzes von Wordpress (UTF-8)....
Für Dein eigentliches Problem überlege ich gerade was...
BTW: Kann es sein, das Du dort immer den aktuellsten Post Deines BLogs darstellen lassen willst?
vG
Arno
-
Nunja.... Dein Server meint dazu:
Zitat<br>
<b>Fatal error</b>: Call to undefined function: load_plugin_textdomain() in <b>/home/sites/site44/web/docs&screens/wp-contactform.php</b> on line <b>11</b><br>Benenn die Datei entweder nach .phps um, damit sie nicht von php interpretiert wird oder pack sie mit ZIP zusammen ;)
vG
Arno
-
Der Fehler lag in der index.php. Dort wurde versucht das single.php-Template als comments.php-Template zu laden. Habe dort (einmal reinschauen) jetzt 'comments.php' hart verdrahtet und wieder auf Deinen Server hochgeladen.
vG
Arno
PS Die PN habe ich gelöscht und die History meines FTP-Progs auch bereinigt.
-
kannst du mir per pn einen ftp-zugang sowie einen admin-zugang zu deiner site zukommen lassen? wird nach benutzung garantiert wieder weggeschmissen....
-
Zitat von telekommander
Will mich nicht übers Design auslassen, steht mir nicht zu, und ist sowieso geschmackssache.
Aber über Fehler und Macken will ich doch aufmerksam machen. Alles was unter "Pages" steht ist buggy und endet mit 'ner Fehlermeldung.
z.B. http://carinzil.ca.funpic.de/?page_id=3Edit: Ja toll. hab gerade gesehen, das schon ein Frage/Antwortspiel läuft hier im Forum ....
wie er auch selbst schon geschrieben hat ;) http://forum.wordpress-deutschland.org/showthread.php?t=4130
-