Beiträge von codestyling

    Du kannst beide Versionen benutzen. Allerdings führt ein Eintrag in der wp-config.php unter dem Wert WPLANG als 'de_DE' immer dazu, das Themes, Plugins und WordPress versuchen wird, wann immer möglich deutsch auszugeben.
    Wenn du komplett alles englisch bewältigst (sieht ja so aus, wenn du englisch bloggen willst) dann kommst du auch mit einem englischen Backend zurecht und kannst WPLANG auf '' stellen, was dann grundsätzlich US (build-in) ist.
    Hat auch noch den Vorteil, das dein Speicherverbrauch von PHP nicht so hoch ist, da keine Sprachdateien geladen werden müssen.

    Hallo, ich habe jetzt mein Theme angepasst und bekomme folgende Fehlermeldung: Warning: Invalid argument supplied for foreach() in ... on line 88

    Folgender Code steht dazu in der Datei:

    PHP
    <?php
            $display_categories = get_option('openbook_cats');
            foreach ($display_categories as $category) { 
            $showposts = get_option('openbook_featured_posts'); 
            query_posts("showposts=$showposts&cat=$category");
            ?>

    Wo habe ich da jetzt meinen Fehler?

    Danke schon mal im vorraus!


    Deine option "openbook_cats" wird leer sein und kein array. Somit wird PHP murren und dich darauf hinweisen.
    Änder das mal ab:

    PHP
    <?php
            $display_categories = (array)get_option('openbook_cats');
            foreach ($display_categories as $category) { 
            $showposts = get_option('openbook_featured_posts'); 
            query_posts("showposts=$showposts&cat=$category");
            ?>

    Ein Beispiel aus dem Plugin Code:

    PHP
    function nbday_get_bday ($bdid)
    {
        global $nbday_tablename, $wpdb;
    
    
        $edit = "SELECT bdid, first, last, DATE_FORMAT(bdate, '%m-%d-%Y') AS bdate FROM $nbday_tablename WHERE bdid = '$bdid' LIMIT 1";
        $result = $wpdb->get_row( $edit );
        return $result;
    }

    Einfach hier die Datumsformatierung rausnehmen:

    PHP
    function nbday_get_bday ($bdid)
    {
        global $nbday_tablename, $wpdb;
    
    
        $edit = "SELECT bdid, first, last, bdate FROM $nbday_tablename WHERE bdid = '$bdid' LIMIT 1";
        $result = $wpdb->get_row( $edit );
        return $result;
    }

    und dann zu Beispiel in der Ausgabe anpassen:

    PHP
    /* Display UI to manage birthday list  */
    function nbday_manage_panel()
    {
        nbday_controller();
    .....
      <tbody>
        <tr>
            <td><input type="text" name="first" value="<?php echo wp_specialchars($getbday->first, 1); ?>"></td>
            <td><input type="text" name = "last" value="<?php echo wp_specialchars($getbday->last, 1); ?>"></td>
            <td><input type="text" name = "bdate" value="<?php echo wp_specialchars( date_i18n(__("M j, Y @ G:i"), strtotime($getbday->bdate)), 1); ?>"></td>

    Die fraglichen Stellen mit dem Datumsformatierer im SQL können alle so geändert werden, du musst nur sicherstellen, das an allen Stellen dann korrekt formatiert wird mit date_i18n, wo das Datum ausgegeben werden soll.

    Kannst du mal per FTP in das Verzeichnis des Themes schauen, ob er überhaupt eine Sprachdatei angelegt hat, wenn du den Knopf "erstelle mo-Datei" gedrückt hast ? Und es wäre auch wichtig zu wissen, in welchen Ordner es diese abgelegt hat.
    Bis zur Version 2.7 war es nicht möglich, Sprachdateien für Themes in separaten Verzeichnissen zu haben, das wurde erst ab 2.7 geändert. Es kann daher sein, das die Sprachdatei(en) vom Plugin im Hauptordner angelegt wurden. Dann brauchst du die nur per FTP verschieben in den Unterordner lang und sie sollten benutzt werden.
    Dieses Problem kenne ich und arbeite gerade an einem Update für das Lokalisierungs Plugin.

    Hab jetzt versucht, das Theme weiter mit dem Codestyling Localization Plugin zu bearbeiten, aber wenn ich die deutsche sprachdatei mit dem plugin bearbeiten möchte, kommt die fehlermeldung, ich hätte keine schreibzugriffsrechte für die datei. Hab das geckeckt auf dem server; das kann nicht stimmen, ich hab volle schreib und leserechte auf die datei. weiß nicht weiter :(


    Das kann schon stimmen, denn das hängt vom Provider ab. Wenn das Script (in dem Falle die PHP Dateien von WP bzw. dem Plugin) mit einem speziellen Benutzer laufen, der keine Rechte hat, Dateien zu ändern, die ihm nicht gehören (sondern vermutlich dem FTP Benutzer) dann stimmt die Aussage.

    Um das zu verifizieren, kannst du das leicht erklären. Wenn das automatische Update oder ein Plugin-Update bei dir nur mit FTP Option funktioniert, dann ist das oben Beschriebene leider richtig. In diesem Fall ist das Plugin nicht in der Lage, Sprachdateien zu erstellen, modifizieren oder zu bearbeiten.

    Das liegt an 2 Sachen:
    1.) SimplePie in der Version wie sie WP 2.8 beigefügt wurde, benutzt einerseits PHP 5 Reflections Code, hat aber nicht für alle Fälle einen PHP 4 Workarround!
    2.) Weiterhin kann auch bei Benutzung von PHP 5 trotzdem dieser Fehler auftreten, wenn beim Provider eine Einstellung falsch ist.

    In der Beschreibung der PHP Reflections API gibts diesen Kommentar: PHP: Reflection - Manual
    der beschreibt, das die php.ini Einstellung zend.ze1_compatibility_mode auf Off stehen muss, damit das funktioniert. Das kann nur der Provider ändern.

    Die aktuelle Einstellung kann mit meinem neuen Plugin Code Styling Project - “WP System Health” - wie geht’s meinem WordPress unter dem Reiter "PHP" durch Aufklappen der Sektion "Language Options" angesehen werden.

    (...auch wegen einer Menge anderes Nicklichkeiten von WP 2.8 empfehle ich PHP 5 und eine korrekt Einstellung durch den Provider.)

    Ich bin mir halt momentan nicht sicher, ob es an wordpress oder am hoster liegt, denn ich habe drei domains, die auf den gleichen webspace führen und diese domains fallen immer abwechselnd aus. d.h. es lädt ohne ein Ende in sicht. Das aber auch nur für den Index. Volgeseiten kann man wieder aufrufen.:confused:


    Kommt sicher auch auf das Theme an. Magazin Themes haben die Neigung, auf der Startseite eine Unmenge an Queries abzusetzen, die dann je Provider zu Aufrufzeiten von mehr als 30 Sekunden führen können.

    Zumindest die Seite von Semi läuft mit PHP/4.4.8 und das kann in der aktuellen WP 2.8 Probleme bereiten. Es wurde bereits bekannt, dass einige PHP 5 spezifische Stellen in WP 2.8 enthalten sind, auch wenn die Entwickler immer betonen, das es auch mit PHP 4 läuft.
    Unter 1und1 zu Beispiel ist es schier unmöglich, mit PHP 4 WordPress zu betreiben, das geht nur mit PHP 5 dort.

    Ich würde auf PHP 5 umstellen (lassen) und das dann testen.

    Der Clou ist außerdem, dass das Phänomen nur auf den Übersichtsseiten auftritt, der gleiche Code funktioniert weiterhin auf single.php. Und der Code ist sofort wieder in Ordnung, sobald ich das more-Tag rausnehme, welches die Artikel splittet...


    Beim Verwenden des more Trenners wird der Text bis zum Trenner bereinigt und es werden nur gültige HTML Tags übrig bleiben Somit sind auch deine PHP Anweisungen raus und ExecPHP macht nix, weil nix zu tun ist.
    Das arbeitet auf der gleichen Basis wie excerpt nur das die Länge des excerpt per Trenner bestimmt wird.