Beiträge von Ammaletu

    Ich bin kein Experte und kenne diesen speziellen Hack auch nicht (obwohl, iFrames einzubauen, wurde das nicht gerne über eine Sicherheitslücke in älteren WP-Versionen gemacht?!), aber so spontan würde ich folgendes vorschlagen:


    • Alle Passwörter ändern. Also Datenbank, FTP-Zugang etc. Nur zur Sicherheit. Auch die Passwörter der WordPress-Nutzer ändern.
    • Backup der Datenbank und des Webspaces ziehen. Dann Webspace komplett leerräumen.
    • WordPress in der richtigen Version neu herunterladen und auf den Webspace laden, nicht die alten möglicherweise manipulierten Files benutzen. Plugins genauso. Theme aus lokalem Backup wiederherstellen.
    • Wenn Du ein hinreichend aktuelles Backup hast würde ich auch die Datenbank dagegen austauschen. Gegebenenfalls könntest Du ja per WordPress-Export die danach erstellten Beiträge exportieren und nach dem Einspielen des Backups wieder importieren (im Backup enthaltene Beiträge einfach aus dem Export-File löschen, ggf. noch mal kurz auf Verdächtiges durchschauen vor dem Import). Diese Aktion könntest Du ggf. an einer lokalen Version erstmal machen, bis Du einen vollständigen und sauberen Datenbank-Dump hast, den Du dann auf dem Server nur noch zu importieren brauchst.
    • Falls Du nicht die neueste WP-Version nutzt auf WP 2.6.2 upgraden. Alle Plugins mal auf Updates überprüfen. Auch an Plugins denken, die nicht auf wp.org gehostet sind und für die Du deswegen keine Update-Benachrichtgung bekommst. Da hilft nur die Pluginseiten mal kurz abzusurfen.

    Du kannst in den Optionen irgendwo einstellen, ob Du den ganzen Beitrag im Feed anzeigen möchtest oder nur die Vorschau-Version. Wenn Du den Feed gekürzt erstellst, wird in der Regel aus dem Beitrag eine Kurzfassung erstellt, aus der alles HTML incl. der Bilder entfernt wird. Die Lösung wäre also, den Feed einfach auf Volltext umzustellen, dann sollten die Bilder automatisch enthalten sein. Achtung, ob ein Feed-Reader den Volltext oder die dann ebenfalls enthaltene Kurzfassung darstellt, kann sich der Feed-Reader im Prinzip aussuchen. Mit Thunderbird klappt das aber zum Beispiel.

    Also da fällt mir auf Anhieb keine logische Erklärung für ein, muss ich sagen. Ich habe mal geschaut, auf meiner Seite habe ich das Tag "Thursday Next" ganz normal in der Tag-Cloud. Allerdings verwende ich auch das Plugin "Simple Tags". Ggf. könntest Du ja mal probieren, ob das Dir vielleicht weiterhilft.

    [LEFT]

    PHP
    <?php function is_tag() {
      return false;
    } ?>

    Dir ist aber schon klar, dass ältere WordPress-Versionen ggf. Sicherheitslücken enthalten, über die das Blog gehackt werden kann?! Ich weiß nicht, wie es bei der 2.1.3 speziell aussieht, aber langfristig ist das auf jeden Fall keine gute Idee.


    Zitat

    aber ich möchte sowas lieber nicht online ausprobieren

    WordPress Deutschland FAQ Wie kann ich WordPress auf meinem heimischen Rechner installieren?
    [/LEFT]

    Ok, ich hab mich mal dran probiert, das Standard-Pages-Widget zu überschreiben. Bitte das folgende in die functions.php Deines Themes schreiben:

    Damit wird in den Kontrollen des Widgets der neue Parameter "Depth" eingefügt und das Widget wertet das für die Query mit aus. Mit depth=1 sollten nur die Seiten der ersten Ebene angezeigt werden usw.

    Du solltest hin und wieder mal schauen, ob das vielleicht auch im WordPress-Kern ergänzt wurde. Dann wäre es natürlich überflüssig, das Standard-Widget zu überschreiben. Wenn Du beide Varianten zur Auswahl haben willst, müssten die letzten Zeilen so lauten:

    PHP
    $widget_ops = array('classname' => 'widget_pages', 'description' => __( "Your blog's WordPress Pages") );
        wp_register_sidebar_widget('my_pages', __('My Pages'), 'my_wp_widget_pages', $widget_ops);
        wp_register_widget_control('my_pages', __('My Pages'), 'my_wp_widget_pages_control' );

    Und Achtung: Das ist alles ungetestet! Bitte ggf. lokal an einer Testumgebung ausprobieren, ob es so wirklich funktioniert.

    Also bei mir hat diese Datei nur 100 Zeilen, wenn sie bei Dir tatsächlich 101 hat, stimmt da vielleicht was nicht. Generell wird dieser Fehler ausgelöst, wenn eine PHP-Datei eine Ausgabe macht, wo keine gemacht werden sollte. Das kann ein Zeilenumbruch oder eine Leerzeile sein. Wenn es nicht die compat.php ist, kontrolliere mal alle Dateien, die Du geändert hast, auf solche Ausgaben, z.B. die wp-config.php oder die functions.php Deines Themes. So Sachen wie das hier:

    PHP
    ...
    ?>      <!-- Zeilelumbruch! -->
    <?php
    ...

    Hast Du im DB-Dump die alte Adresse durch die neue ersetzt? Ich nehme jedenfalls mal an, dass sich die Blog-Adresse bei der Aktion geändert hat. Ansonsten: weiße Seite = PHP-Fehler in den meisten Fällen. Bitte mal in die entsprechenden Log-Files schauen, ob sich da eine Fehlermeldung findet. Apache ist auf dem neuen Server korrekt konfiguriert?!

    Ich hab mal kurz ins Plugin reingeschaut. Es funktioniert, in dem es per WP-Hook die Query für wp_list_pages ändert. Genauer gesagt fügt es die konfigurierten Seiten dieser Query immer als exclude-Parameter an. Außer mit Trickserei oder einer eigenen manuellen Query wüsste ich nicht, wie Du das umgehen könntest. :-/

    Andere Idee: Brauchst Du das Plugin wirklich, um spezielle Seiten auszublenden im Menü, oder willst Du nur alle Seiten einer bestimmten Ebene ausblenden? Falls Du z.B. einfach nur alle Seiten der ersten und zweiten Ebene listen willst, wäre der ab WP 2.5 (?) neue Parameter "depth" an der wp_list_pages-Funktion für Dich richtig. Falls das im Widget nicht standardmäßig angeboten wird, kann man das recht einfach überschreiben. Sag mal Bescheid, ob das eher eine Lösung wäre, dann kann ich da auch näher ins Detail gehen.

    Also direkt helfen kann ich erstmal nicht. Nur als Hinweis: Wenn ein Plugin Umlaute kaputt macht, hat der Autor oft das richtige Handling von UTF-8 mit PHP nicht verstanden. Dazu gibt es eine sehr gute Seite mit vielen Infos:
    Handling UTF-8 with PHP [Web Application Component Toolkit]

    Wäre es ein zehn-Zeilen-Plugin hätte ich selber mal schnell nach der Ursache gesucht. Leider ist das Plugin doch bedeutend umfangreicher, so dass ich fürchte, dass Du selber mal schauen musst. Es sollte sich dann aber finden lassen. Schreib Dir ggf. mal Ausgaben in den Plugin-Code rein (am besten lokal mit XAMPP, siehe FAQ), so dass Du siehst an welcher Stelle die Umlaute kaputt gehen.

    Sorry, war etwas in Eile gestern. Nein, wird schon was, aber Du müsstest das dann anders anfangen. Normalerweise propagiere ich ja immer, die Originalquery nicht zu ändern und lieber eine neue Query zu machen. In dem Fall müsste man dann aber die Originalquery aufheben und nach der Schleife wiederherstellen. In etwa so:

    Damit wird innerhalb der Schleife die normale Query-Variable verwendet und die [COLOR=Black]Methoden[COLOR=#000000][COLOR=#0000CC] previous_post_link und [/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=Black][COLOR=#0000CC]next_post_link[/COLOR][/COLOR][COLOR=#006600][COLOR=Black] funktionieren hoffentlich. Sidebar und Footer aber haben trotzdem die richtige Query, so dass Prüfungen wie is_page etc. nicht schiefgehen.[/COLOR]
    [/COLOR][/COLOR]

    Eine wirkliche Antwort habe ich auch nicht für Dich, aber ich kann das Problem nachvollziehen. Ich glaube, die Frage ist wie professionell Du das betreiben willst. Wenn Du nur hin und wieder was postest als Hobby kann man das sicher so gestalten, dass es nicht stört. Wenn Du das dagegen eher professionell und mit viel Content betreiben willst, wären zwei getrennte Blogs vermutlich besser.

    Ich persönlich bin gedanklich immer noch eher in klassischen Webseiten beheimatet und kann mich mit der Blog-Struktur nicht wirklich anfreunden. Ich habe das letzte Jahr über probiert verschiedene Themen in ein Blog zu quetschen, darunter Sachen, die nicht wirklich Blog-Einträge sind (Reviews und Kurzgeschichten). Angefangen habe ich ganz ohne Kategorien, nur mit Tags, aber so nach und nach bildeten sich dann Kategorien mit entsprechender eigener Darstellung heraus. Gerade vor ein paar Tagen habe ich nun noch meine Startseite überarbeitet, um die verschiedenen Themen deutlicher zu trennen. Du kannst ja mal schauen, ob eine solche Struktur ggf. auch etwas für Dich wäre: Startseite Delta Orionis

    In dem Fall würde ich sagen brauchst Du wenige und möglichst klare Kategorien, ggf. mit Unterkategorien. Das sind im Moment bei Dir schon fast zu viele wäre mein spontaner Eindruck. Bei Deinem Theme könnte ich mir auch eine farbliche Kennzeichnung der Kategorien gut vorstellen. Du könntest z.B. für Politisches und Rechtliches zwei Blau-Töne nehmen, für Reviews Rot-Töne und die allgemeinen Kategorien mit Grün-Tönen versehen. Und dann die Kategorie-Headlines sowie die Headlines der Beiträge darin entsprechend mit einem dezenten Farbverlauf im Hintergrund versehen zum Beispiel.

    P.S.: Fällt mir gerade noch so auf: Was Du in der Sidebar unter "Inhalte" verlinkt hast, ist ja am Anfang der Seite schon mal als Tabs verlinkt. Den Inhalte-Block würde ich deswegen auf jeden Fall unter den Kategorie-Block setzen in der Sidebar.

    Das sieht bei mir z.B. so aus:

    Einbinden kannst Du die Sidebar dann unter Angabe des vergebenen Namens:

    PHP
    if (function_exists('dynamic_sidebar')) {
        /* Display the widgetized sidebar if configured. */
        dynamic_sidebar('left');
    }

    Wie maxe schon schriebe, bitte auf jeden Fall die functions.php so ändern:

    [LEFT]

    Zitat

    Also am Template kann es nicht liegen, habe mal das Standard-Template von WordPress aktiviert, hier kommt der gleiche Fehler...

    Das war schon mal eine gute Idee. Die functions.php Deines Themes ist natürlich trotzdem falsch, aber vielleicht findet sich etwas ähnliches ja auch noch in der wp-options.php!? Hast Du andere Dateien des WordPress-Kerns bearbeitet?
    [/LEFT]

    Sieht so aus, als ob in Deinem Fall irgendwo ein Zeilenumbruch ausgegeben wird. Das kann in der wp-config.php der Fall sein, aber z.B. auch in der functions.php des Themes. Schau die Dateien noch mal im Detail an, beide dürfen nichts ausgeben! Das könnte z.B. so aussehen:

    PHP
    ...
    ?>    <-- Sieht unverdächtig aus, aber hier gibt PHP einen Zeilelumbruch aus.
    <?php
    ...

    Klar ist das machbar. Die Frage ist nur, was die beste Lösung ist. Also, wenn Du dafür jeweils mehrere Anweisungen austauschen musst und sich deshalb eigene Dateien für jedes Farbschema lohnen, könnte ich mir das so vorstellen:

    • Du erstellst ein allgemeines Stylesheet und dann ein Stylesheet für jede Farbe, welches jeweils nur diese farbbezogenen Anweisungen enthält. Also z.B. style.css und style_red.css, style_blue.css etc.
    • Jede Seite, die eine spezielle Farbe erhalten soll, bekommt ein benutzerdefiniertes Feld, sagen wir mal "Farbe" mit den entsprechenden Kürzeln der CSS-Dateien, also "red", "blue" etc.
    • In der header.php des Themes bindest Du zuerst die normale style.css wie gewohnt ein. Darunter kommt dann die Auswertung des benutzerdefinierten Feldes, in etwa so (ungetestet):

    Dabei gehe ich mal davon aus, dass der Key des Feldes "color" ist und dass die Dateien im Unterordner "css" liegen.

    Wenn es sich nur um eine einzelne CSS-Anweisung handelst, kannst Du das analog auch mit einem Style-Block anstatt einzelnen Dateien machen. Dann einfach testen, welcher Wert im Feld vorhanden ist und die richtige Farbe dafür ausgeben. Oder an die Seiten gleich den Farbwert anhängen.