Beiträge von codestyling

    Es gibt ne Variable $user_ID und einige weitere. Diese werden beim Login gesetzt. Schau mal hier:
    Function Reference/get currentuserinfo « WordPress Codex


    Lieber nicht mit globalen Variablen rumspielen, abfragen ist immer besser:

    PHP
    if (is_user_logged_in() && current_user_can('level_10')) {
       $myself = wp_get_current_user();
       echo $myself->user_nicename;
    }

    Da bekommt man ein Objekt mit allen Eigenschaften und Einstellungen des aktuellen Benutzers zurück und kann u.a. sogar abfragen, ob der den TinyMCE angeschaltet hat ... :)
    Du must bei der Levelbeschränkung oder der Prüfung für nicht eingeloggte Benutzer sowieso Code schreiben, der das behandelt.

    Doofe Frage:
    Gibts dafür ne Anleitung wie ich vorgehen muss? In diesem Falle weiss ich ehrlichgesagt garnich was ich tun soll, da ich solche gravierenden Themeänderungen nochnich vorgenommen habe:?


    Einfache Anwort: nein.
    Denn das erfordert eine komplette Einarbeitung in der Code des Themes, denn so wie ich das sehe, werden auch noch andere Javascripts auf diese Weise mitgebracht. Die kann man eben nicht mal schnell durch die Neuen ersetzen, denn prototype.js 1.6.0 (bringt WP mit, aktuell) ist nicht mehr kompatibel zu prototype.js 1.5.0. Da wird beim Versuch, das zu ersetzen, sich das Theme vermutlich komplett verabschieden, was die Javascript Sachen betrifft.

    Ich hab leider nicht Zeit im Überfluss, so etwas anzupassen, auch wenn ich wüsste wie. Da ist der Autor trotzdem die bessere Wahl. Ich würde da gern weiterhelfen, aber noch ein Projekt am Rande ist zeitlich bei mir nicht mehr drin, sorry.

    Das Theme kann nicht funktionieren, denn es bringt eine hart codierte,veraltete Version von prototype.js mit, die direkt in eine PHP Datei eingeschlossen wurde: /plugins/cleanJS-1-04/prototype.js.php

    Damit schiesst du dir alles im Admin Bereich ab, was protoype.js benutzt und im Frontend mit Sicherheit fast alle Gallerien. Da solltest du den Autor um Anpassung an WP 2.6.1 bitten und ihm mitteilen, das WP prototype.js von Haus aus mitbringt, das muß man nicht dazu programmieren !

    Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/xxx/html/wp-includes/plugin.php on line 274

    Was verstehst du an Maximum execution time of 30 seconds exceeded nicht ? PHP ist bei dir so konfiguriert, das PHP Scripte nur maximal 30 Sekunden laufen dürfen und dann hart vom Apache gekillt werden!
    Und wenn du dieses Zeitlimit, was sehr großzügig bemessen ist, erreichst, dann stimmt etwas mit einer Komponente nicht. Dies sind nun mal meist inkompatibel gewordene Plugins.
    PHP Dokumentation - max_execution_time

    Versuch es doch mal mit einem Paragraph, denn seit WP2.6.0 tastet der TinyMCE diese nicht mehr an, wenn man die styled:

    Code
    <p style="border-top: 1px solid #0f0; height: 3px;">&nbsp;</p>


    Alternativ kannst du den style auch in eine Klasse ins CSS verschieben:

    Code
    <p class="green">&nbsp;</p>
    ----- CSS ---
    .green {
       border-top: 1px solid #0f0;
       height: 3px;
    }


    Evtl. musst du noch die margin Werte richtig setzen ...

    Das sieht danach aus, als hättest du ein Plugin laufen, das nicht mehr WP2.6.1 kompatibel ist, denn die angegebene Fehlestelle ist hier:

    Code
    unction do_action($tag, $arg = '') {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
    
    
        if ( is_array($wp_actions) )        [COLOR=Red]<------ hier[/COLOR]


    Da es innerhalb der do_action hart abgebrochen wird, nehme ich an, das mindestens 1 Plugin spinnt und viel zu lange etwas macht. Irgedwann ist es mit seinem Hook fertig aber die max. 30 Sekunden bereits fast erreicht. Das nächste Plugin, das nun seinen Hook ausgeführt bekommt, "stirbt" dann den Heldentod an dieser Stelle.

    Deaktivier man alle Plugin und aktiviere sie einzeln. Nach jedem Plugin speicherst du eine Testseite. Somit solltest du den "Übeltäter" finden.

    Sollte es aber auch ohne jedes Plugin zum selben Fehler führen (bitte als erstes testen) dann stimmt was mit deinen WP Dateien nicht und du solltest sie nochmal im binär-Modus per FTP hochladen.

    Deine Seitenstruktur hat midestens 1 offenen div, der das dann im IE verursacht, denn IE "repariert" Seiten anders als der Rest der Browserwelt:
    [Invalid] Markup Validation of http://www.checkyourhead.de/main/ - W3C Markup Validator

    Schau mal dein Theme durch, ob du zu jedem geöffneten div auch ein geschlossenen hast. Und bei der Gelegenheit auch gleich die hr richtig notieren: <hr style="..." [COLOR=Red]/[/COLOR]>

    Ja, dann den 2. get_permalink auch noch auskommentieren:

    Code
    if (!is_feed()){
                        foreach($value['identifiers'] as $identifier){
                            $data = $data.$this->current_options['pre_backlink'].'<a href="'[COLOR=Red]/*[/COLOR].[COLOR=Blue]get_permalink($post->ID)[/COLOR][COLOR=Red]*/[/COLOR].'#identifier_'.$identifier.'_'.$post->ID.'" class="footnote-link footnote-back-link">'.$this->current_options['backlink'].'</a>'.$this->current_options['post_backlink'];
                        }
                    }

    Es gibt nur die 2 Stellen, dann müsste er beides relativ machen und hoch und runter springen.

    Achtung: Der Verlust der Permalinks ist nur dann tragisch, wenn du Seiten hast die mehrere Pages haben (Pagination). Wenn nicht und immer alles auf der gleichen Seite ist, sollte es das gewesen sein.

    Ein Problem im Code des Footnotes Plugin:

    Code
    // Display identifiers        
            foreach ($identifiers as $key => $value) {
                $id_id = "identifier_".$key."_".$post->ID;
                $id_num = ($style == 'decimal') ? $value['use_footnote']+$start_number : $this->convert_num($value['use_footnote']+$start_number, $style, count($footnotes));
                $id_href = [COLOR=Red]/*[COLOR=Blue]get_permalink($post->ID)[/COLOR].*/[/COLOR]"#footnote_".$value['use_footnote']."_".$post->ID;
                $id_title = str_replace('"', "&quot;", strip_tags($value['text']));

    Bitte das blaue suchen und das rote hinzufügen so wie hier.
    Damit sind alle Ansprünge der Fussnoten relativ aber der Link der Fussnote geht dann zur Seite selbst.

    Nein, daran liegt's nicht.
    Habs auch gerade ausprobiert und bin auch reingefallen :mrgreen:

    Also Categorie anlegen z.B.: "intern"
    Dann den richtigen (real) Link und zwar komplett! (das ist sonst der Fehler) angeben:

    Code
    http://www.heise.de

    Anchor Text: heise
    Add drücken..

    Dann zeigt es dir, das er

    Code
    http://deinedomain/intern/heise

    daraus macht und nach dem Einfügen in die Seite und anklicken landest du auch bei Heise.

    Das wichtige ist die komplette URL mit dem Protokoll! Nur www. funktioniert nicht.

    Die Fußnoten Links werden mit der vollen URL in die Seite geschrieben:

    Code
    <a id="identifier_0_1133" class="footnote-link footnote-identifier-link" title="Quelle: DUW" href="http://espritdescalier.de/blog/2008/08/17/suizid-bei-olympia/#footnote_0_1133">1</a>

    Dadurch muß er ja auf den Artikel selbst springen.

    Wäre das nur relativ angegeben, dann würde es weiterhin funktionieren:

    Code
    <a id="identifier_0_1133" class="footnote-link footnote-identifier-link" title="Quelle: DUW" href="#footnote_0_1133">1</a>


    Allerdings kann ich so nicht nachvollziehen, ob das Plugin das immer relativ macht und ein anderes die URL "vervollständigt" oder ob das wo anders her kommt.

    Hmm, ich hab mir das Plugin mal geladen, das steht aber folgendes dran:

    Code
    Min WP Version: 1.5
    Max WP Version: 2.0.4

    Kann sein, das es nicht mehr funktioniert, dazu müsste ich es komplett durchlesen. Aber auffällig ist auf den 1. Blick, das es eine Sicherheitslücke enthält, die man zumindest dazu nutzen kann deine ganze Domain umzuleiten.

    Ich würde von dem Plugin Abstand nehmen und ein anderes suchen.

    Aber kannst mir den trotzdem sagen wie ich das hinkreige?


    Das kommt darauf an, ob WordPress bei dir mit oder oder ohne Permalinks einstellt ist. Wenn du URL's der Form ?p=100 usw. hast, dann existiert u.U. gar keine .htaccess Datei, denn die wird erst bei Verwendung von Permalinks anlegt.
    Dann solltest du eine leere .htacess Datei in dem Ordner anlegen, in den du WordPress installiert hat, im Normalfall im root.
    Den Rest müsste das Plugin machen, soweit ich er überflogen hab.
    Achtung: Windows Explorer kann keine Dateien anlegen, die mit . anfangen.
    Dann eine ohne Punkt anlegen, hochladen und per FTP umbenennen.

    Das was du möchtest, nennt sich url cloaking und ist einigermaßen fragwürdig, denn es dient letztlich sicher dazu, die Link Policy von Google zu unterwandern.

    Hier TrendMicro mit einer Definition aus ihrer Sicht: URL-Cloaking - Trend Micro Deutschland

    Und hier ein netter Artikel (englisch) in dem Matt Cutts zitiert wird: Advertisers Cloaking AdWords URLs To Get Around Display URL Policy

    Zitat

    shut down advertisers that do bad things.

    und auf diese Problematik eingegangen wird ( 28.05.2008 ).

    Ich glaube kaum, das sich Google das lange anschauen wird ...

    Dafür muss es eine andere Erklärung geben, denn mein Feed geht anstandslos beim ersten Mal im FireFox auf, muß auch so sein.
    Das es beim 2. Mal funktioniert, liegt daran, das FF das schon hat und mit modified-since am Server anfragt und als Antwort das bekommt:

    Code
    Status=Not Modified - 304
    Date=Sun, 31 Aug 2008 20:43:06 GMT
    Server=Apache/1.3.34 Ben-SSL/1.55
    Etag="13b41ef2a8ff20b95c46b61e0078e5d5"
    X-Pingback=http://www.stephsblog.at/xmlrpc.php
    X-Powered-By=PHP/5.2.6
    Last-Modified=Sun, 31 Aug 2008 20:38:33 GMT
    Keep-Alive=timeout=2, max=200
    Connection=Keep-Alive
    Content-Type=text/html


    und nun das (offensichtlich intern korrigierte) vorherige Ergebnis anzeigt.

    Allerdings stimmt der Content-Type nicht, mit dem auf die Feed Anfrage geantwortet wird!

    Ich habe es auf WP 2.6.1 getestet: Tolles Plugin für die zukünftige Zusammenarbeit im Backend über Sprachgrenzen hinweg!

    Erweitert man es einfach durch Laden weiterer Sprachdateien in den wp-content/languages-Ordner?


    Alle Sprachdateien, egal ob *.mo oder *.po werden erkannt und angezeigt, wenn sie im entsprechenden Ordner liegen. Man kann auch neue Sprachen hinzufügen, wie man möchte.
    Für den Fall, das du eine Live-Umschaltung der Sprachen meinst (also Backend von Deutsch in Italienisch), das ist nicht enthalten, wäre aber eine Option für folgende Versionen.

    Da fällt mir ein, etwas hab ich ja gar nicht beschrieben im Artikel dazu: Wenn man nur eine *.mo Datei hat aber keine passende *.po dazu, erzeugt das Plugin praktischer Weise eine *.po aus der existierenden *.mo, wenn man auf "bearbeiten" geht.

    Ich hab nun endlich auch ein größeres Plugin-Projekt zur Reife (Version 1.0) gebracht.
    Mit diesem Plugin kann man alle Sprachdateien angefangen von WordPress selbst über Plugins, die das unterstützen bis hin zu Themes, die fähig dazu sind, direkt in WordPress (Admin-Oberfläche) anlegen, einlesen lassen, übersetzen und als *.mo speichern und direkt testen.
    Langfristig strebe ich die Abschaffung von PoEdit im Hinblick auf WordPress an und hoffe, das ein solches Plugin dazu beiträgt, die Verwendung von Sprachdateien zu erhöhen.
    Beschreibung und Download: Code Styling Project » WordPress Plugin: Codestyling Localization