Schlagwort-Archive: Wordpress

WordPress: Theme Darstellung zerstört nach PlugIn installation | Problem – wp_head()

Das momentane Theme funktioniert nicht mehr richtig, nachdem ein neues PlugIn installiert wurde?

Was kann die Ursache sein?

Die meisten PlugIns bringen Code mit, der Javascript beinhaltet. Das ist soweit nicht verkehrt nur muss man sich im Klaren sein, WANN diese aufgerufen werden.

Um einen optimalen Aufruf einer Internetseite zu gewährleisten, sollte man unter anderem darauf achten, dass die Reihenfolgen von .css und .js Dateien in Headerbereich eingehalten wird.

Grundsätzlich gilt:

CSS Dateien vor Javascript Dateien.

Im Header werden alle notwendigen .css Dateien aufgerufen, die die Darstellung der Internetseite steuern. Danach werden alle .js Dateien aufgerufen. In den seltensten Fällen kann es vorkommen, dass bestimmte .css Dateien nach Aufruf von Javascript (.js) Dateien die Ausgabe verfälschen oder sogar unterbinden.

Geschehen so bei mir in einem unserer Blogs. Wir benutzen in diesem Blog das Theme "Branfordmagazine". Nachdem ich das Wibiya PlugIn installiert hatte, funktionierte das Anzeigen der Tabs auf der Startseite nicht mehr.

Über den "Code Inspector" von Chrome (rechte Maustaste auf die Internetseite und ganz unten auf: "Inspect element"), bin ich darauf gekommen. Hier kann man sich über die Registerkarte "Audits" die Performance und den Aufbau "auswerten" lassen. Unter dem Punkt   "Remove unused CSS rules" und "Optimize the order of styles and scripts". Hier wurde mir dann mitgeteilt, dass hier .css Dateien nach .js geladen wurden und manche .css gar nicht.

Wie ist die Steuerung im Headerbereich bezüglich dieser beiden Dateiarten möglich? Wann und wo werden und sollten .css Dateien und wann und wo sollten .js Dateien stehen?

Schauen wir kurz in einen Ausschnitt des Headerbereichs des Theme "Branfordmagazine":

Headerbereich des Theme "Branfordmagazine"

 Hier kann man den Aufbau erkennen

  1. meta Daten
  2. .css Dateien
  3. .js Dateien

Was ist also falsch? Es gibt dort noch einen Eintrag, nämlich wp_head(). Mit dieser Funktion können PlugIn Schreiber Code in den Headerbereich schreiben. Auch das Wibiya PlugIn nutzt diese Technik und führt noch vor den .css Dateien, .js Dateien aus.

Nachdem ich die wp_head() Funktion unter die .css Dateien einfügte funktionierte das Theme "Branfordmagazine" auch wieder.

Anmerkung: Nicht den Eintrag wp_head() löschen. Er muss zwischen den Tags <head> und </head> stehen bleiben. Man kann selber nur steuern wo er dort stehen soll.

Bin auf Eure Reaktionen über die Kommentarfunktion gespannt..

Problemlösung: WordPress 2.9 und Twitter Tools

Wie ich in meinem Artikel:

Wordpress 2.9 Bug Dein Versuch, den Artikel “*Beitragstitel*” zu bearbeiten, ist fehlgeschlagen. Bitte nochmals versuchen.

geschrieben habe, hat Calimero das Problem eingegrenzt und die Twitter Tools für diesen Fehler verantwortlich gemacht.  Das hatte ich dann selber auch ausprobiert und bei mir hat sich das gleiche gezeigt. Nach Update auf 2.9.1 und löschen der Twitter Tools, funktioniert das Einstellen meiner Artikel wieder tadellos.

 

Doch auf den Service, die Artikel gleichzeitig auch in meinen Twitter Accounts posten zu können, möchte ich nicht verzichten. Deshalb habe ich ein wenig im WWW rumgestöbert und bin auf ein sehr interessantes PlugIn gestoßen:

WP to Twitter

Ich habe nicht das Erstbeste genommen sondern habe auch verschiedene ausprobiert, wie z.B. TwittPress oder Bird Feeder. Beide sind (bei meinen Blogs) nicht WordPress 2.9. kompatibel.

WP to Twitter hingegen schon. Es kann auch mehr als die Twitter Tools. Installiert wird es wie alle anderen PlugIns bei WP. Auf der Admin Seite des Tools (nachdem man es installiert hat), kann man verschiedenes einstellen. Z.B. ein sehr interessantes Feature ist die Möglichkeit, auch Seiten zwitschern zu lassen. Zudem kann man noch einstellen, dass auch Änderungen an den Posts oder Seiten gezwitschert werden. Weitere nette Einstellung sind möglich:

Aktualisiere Twitter wenn du einen neuen Blogroll Link veröffentlichst.
Eigener Text vor den Tweets
Eigener Text nach den Tweets
Länge des Blogeintrag Auszugs (in Zeichen)
Twitter Aktualisierungen bei Remote Veröffentlichungen (Einträge per Email oder XMLRPC Client)
Aktualisiere Twitter wenn ein Eintrag über QuickPress veröffentlicht wird
Verwende Google Analytics mit WP-to-Twitter
Autoren haben individuelle Twitter Accounts

 

WP to Twitter benutzt zwei verschiedene URL shortener (Dienste, die die Post-URL verkürzen). Bit.ly und Cly.cs. Mit meinem Bit.ly API Schlüssel hatte es seine Probleme aber mit einem neu erstellten Cly.cs API Schlüssel nicht.

Ein neu erstellter Artikel wurde fehlerlos online gestellt und sofort gezwitschert. Meine Empfehlung hat das PlugIn.

WordPress 2.9 Bug Dein Versuch, den Artikel “*Beitragstitel*” zu bearbeiten, ist fehlgeschlagen. Bitte nochmals versuchen.

Seitdem ich meine Blogs auf WordPress 2.9 "geupdatet" habe, erscheint (nicht immer !), beim Einstellen von Artikeln die Fehlermeldung:

"Dein Versuch, den Artikel “*mein gerade erstellter Artikel-Titel*” zu bearbeiten, ist fehlgeschlagen. Bitte nochmals versuchen."

In den verschiedenen Foren, in denen solche Bugs und Fehlermeldungen behandelt werden, gibt es noch keine Lösung für dieses Problem, nur Vermutungen.

Ich habe einen Weg herausgefunden, der mir das Einstellen von Artikeln erlaubt, obwohl diese Fehlermeldung auftritt.
Die normale Vorgehensweise, einen Artikel einzustellen ist doch, den Titel vergeben, die Kategorie anklicken und dann den Inhalt schreiben, zum Schluss noch nach Bedarf des Auszug schreiben, einige Tags komplettieren und anschliessend auf "Publizieren" klicken. Und genau danach, tritt dieser Fehler auf. Wenn man dann auf den Link "Nochmal versuchen" klickt, landet man wieder in dem Bereich, wo man einen neuen Artikel eingeben kann. Die gerade gemachten Eingaben sind dann aber komplett weg. Hier darf man nicht auf den Link "Nochmal versuchen" klicken, sondern im Browser zurück gehen. Bei mir blieben dann alle Einträge erhalten, bis auf den Titel. Diese Fehlermeldung tritt auch auf, wenn man anstatt auf "Publizeiren" auf "Speichern" klickt.

Der Trick ist der, dass man bei Neuerstellung eines Artikels, nur den Titel vergeben braucht und anschliessend gleich auf Speichern klicken (nicht auf "Publizieren", da es passieren kann, dass dieser Fehler nicht auftritt und dann hat man nur einen Titel, ohne Text veröffentlicht. Bis man dann den kompletten Artikel fertig geschreiben hat, könnten schon einige Leser abspringen, weil es ja nichts zu lesen gibt). Also auf "Speichern" klicken. Wenn dann die Fehlermeldung auftritt, ist diese Version aber als "Entwurf" gespeichert. Jetzt ruft man sich diesen halbfertigen Artikel aus den Entwürfen aus und kann ihn komplettieren. Ein anschliessendes "Publizieren" gelingt dann immer.

Das ist leider keine Lösung des Problems aber eine Chance, solange damit leben zu können, bis sich ein Entwickler des Bugs angenommen hat und in der eventuell nächsten WordPress 2.9.1 Version behebt.

*UPDATE*
Calimero hat es schon in der 2.9.1 versucht, auch ohne Erfolg. Vielleicht wird ja jemand aufmerksam und nimmt sich dieser Sache an.

*UPDATE 2*
Marco schreibt, er habe keine weiteren Probleme noch dem Update auf 2.9.1

*UPDATE 3*
Calimero hat es jetzt einmal ohne TwitterTools, dem WordPress Plugin probiert und Erfolg gehabt. Das gleiche wollte ich jetzt auch ausprobieren. Obwohl ich noch während der 2.9. Version alle PlugIns deaktiviert hatte, trat der Fehler auf. Jetzt habe ich erst die TwitterTools deaktiviert und anschliessend auf WordPress 2.9.1. geupdatet. Anschliessend einen neuen Artikel geschrieben und ohne Fehler online gestellt. Danke an Calimero, es hat funktioniert. Ich werde mich auch auf die Suche nach einem neuen Twitter PlugIn machen, dass automatisch meine Beiträge zwitschert. Vielleicht hat ja einer einen guten Vorschlag.
 

ich hoffe damit ein bisken geholfen zu haben. Wer möchte, kann ja über die Kommentarfunktion Lösungen oder andere Wege aufzeigen.

Base64 Codierung in WordPress Theme

Heute bin ich auf was gestossen, dass ich noch nie bei einem WordPress Theme gesehen habe.
Die Fußzeile war komplett mit base64 codiert.
 

Der base64 code sieht dann z.B. so aus:
….. $_F=__FILE__;$_X='Pz4gIAkgIDwvZDR2Pg0KD usw…..

Nach der Decodierung habe ich dann festgestellt, dass mehrer Links und Verweise auf andere Internetseiten gesetzt waren. Ist klar, alles was man im Browser in der Fußzeile sieht, ist ja durch den PHP Parser decodiert worden. Ich denke mal, dass viele, die sich die Mühe machen eine Theme zu erstellen, damit verhindern möchten, dass die Verweise und damit potentielle Backlinks, die auf die Internetseiten der Themeprogrammierer zeigen, gelöscht werden.

Um im Footer selber Änderungen vornehmen zu können, braucht man den HTML, bzw. PHP Code.

Man kann den Code online in einem Base64 Decoder übersetzen lassen.
Die Adresse:

Es bleibt natürlich jedem selber überlassen, die Verweise zu entfernen, ich denke aber, dass man die Verweise quasie als Benefit so belassen soll, sofern sie nicht gegen moralische, ethische, religiöse Regeln verstößt.

In der PHP Szene ist die Codierung verpönt und wird in PHP6 nicht mehr unterstützt.

Tag-Tooltipps der Tagwolke im WordPressblog in Keyword umwandeln

Wenn man eine Tagwolke in seinem Blog hat, dann erscheint, wenn man über die einzelnen Tags mit der Maus geht, eine kleine Blase, mit der Anzahl der Themen, z.B. "15 Themen" oder "1 Thema"
Woher kommen die Wörter "Thema" und "Themen"?
Aufmerksam bin ich darauf geworden, als ich meine Seite durch ein Analysetool geschickt hatte, dass mir meine Keywörter und die meist eingesetzten Wörter auflisten sollte.
Ich hatte nicht schlecht gestaunt, als ich las, das mein meist verwendetes Wort auf den einzelnen Seiten "Themen" war, das kam öfter vor als meine eigentlichen Keywörter.

Lösung: Die Tagfunktion für die Tagwolke.
Wie oben schon beschrieben ist die Tagwolke eine Ansammlung von Tags (Schlagwörter).
Bei jedem neu erstellten Artikel kann man die, für den Artikel relevanten Schlagwörter, als Tags angeben. Wer dann noch eine Tagwolke in seinem Blog hat, hat dann eine komplette Ansammlung von Schlagworten, die, wenn man auf diese klickt, alle Artikel auflistet, die dieses Wort als Tag beinhalten.

Wie kann ich das zu meinen Gunsten ausnutzen?
Ganz einfach. Ich muss nur die Funktion finden, die dafür zuständig ist, dass die Tags größer oder kleiner geschrieben werden (in Abhängigkeit der Anzahl der Schlagwörter). In dieser Funktion ist auch hinterlegt, dass die Anzahl der gefundenen Tags ein "Begleitwort", nämlich bei Einzahl "Thema" und bei Mehrzahl "Themen" zugeordnet bekommen.
Gesucht, gefunden.
Es ist die Funktion "function wp_generate_tag_cloud" in der Datei: "category-template.php", die sich im Ordner "wp-includes" befindet.
Wer sich NICHT mit php oder generell mit korrekter Datenpflege auskennt, sollte hier keine Versuche starten. Man sollte auch bedenken, wenn man hier Änderungen vornimmt, gehen diese beim nächsten WordPress-Update verloren.

Wer trotzdem wissen will wie es funktioniert, liest einfach weiter:
An einer Stelle der Funktion, steht: "attribute_escape( sprintf( __ngettext('%d topic','%d topics',$count), $count ) )"
Hier stehen die Wörter "Topic" und "Topics", die über die Übersetzungsfunktion in "Thema" und "Themen" übersetzt werden. An dieser Stelle könnt ihr für die einmal vorkommenden Tags das Wort Topic und für mehrfach vorkommende Tags das Wort Topics in Wörter austauschen, die ihr für Euren Blog als wichtiger erachtet.
Nochmals der Hinweis:
Änderung an dieser Stelle, gehen beim nächsten WordPress-Update gnadenlos verloren. Hier bitte NICHT die geänderte Datei auf dem Rechner abspeichern, um diese nach dem WordPress-Update wieder hochzuladen. Ihr könnt nicht wissen, ob sich inhaltlich in dieser Datei an anderer Stelle etwas geändert hat. Deswegen immer diese Datei nachträglich wie oben beschrieben anpassen.

Ab wordpress 2.7 hat sich hierbei einiges geändert.
Die Funktion function default_topic_count_text zählt die Anzahl der Topics. Hier muss man dann topic und topics entsprechend ändern.

WordPress Artikel per Mail einstellen mit Hilfe von Postie

Ich habe heute das erste mal einen Beitrag per Mail in meinen Blog (WordPress 2.7.1) eingestellt. Ein paar Einstellungen sind aber vorher noch notwendig.

Ich schildere mal hier die Vorgehensweise:

1. Das Plugin Postie installieren
2. Die Updatedateien hochladen
3. Einen Mailaccount anlegen, der einen ungewöhnlichen (kryptischen) Namen hat, den man nicht so leicht erraten kann.
4. Einen Benutzer in Eurem WordPressblog anlegen, der die Rechte eines Autors hat und in seinen Einstellungen eine Mailadresse des Servers auf dem der Blog läuft.
5. Den Administratoraccount, mit einer Mailadresse des Servers vergeben, auf dem der WordPressblog liegt.

Aber nun der Reihe nach.
Als erstes solltet ihr Euch das Plugin und die Updatedateien hochladen und das Plugin noch nicht aktivieren.
Download Postie von hier:
Download der Update Dateien von hier: (ist notwendig um die Kategorien nachträglich anpassen zu können) Update auf 1.1.5 über WP-Admin

Wir nehmen an, Eure Domain, auf dem der Blog läuft, heisst: www.meinblog.de
Dann solltet ihr euch eine kryptische Mailadresse mit dieser Domain einrichten. Z.B. xyzabc123@meinblog.de, damit niemand diese erraten kann.
Was immer an diese Mailadrese versendet wird, landet (mit entsprechender Authentifizierung) in eurem Blog.
Nun müsst ihr noch eine weitere Mailadresse mit dieser Domain einrichten (oder ihr verwendet eine schon vorhandene). Erkläre ich gleich warum.
Die meisten Hoster ermöglichen es einen, 100 oder mehr Mailadressen einrichten zu können. Wer diesen Luxus hat, kann sich ja eine wordpress@meinblog.de oder ähnliches zulegen.
Das Plugin arbeitet (in groben Zügen) folgendermaßen:
Wenn es manuell, per Script oder Cronjob losgeschickt wird, dann verbindet es sich mit dem Mailkonto: xyzabc123@meinblog.de, holt nach erfolgreicher Authentifizierung die Mails ab und versendet diese per Mailgateway eures Servers an die wordpress@meinblog.de Mailadresse.
Ihr erkennt hieran, dass es dadurch nicht möglich ist, eine andere Adresse als eine vom eigenen Server zu verwenden, um die abgeholte Mail an den eigenen Blog zu versenden.

Wer sich hier besser auskennt als ich und einige Anmerkungen dazu hat oder mich berichtigen möchte, gerne über die Kommentarfunktion.

Also, wir haben das Plugin und die Updatedateien oben, einen geheimen Mailaccount und einen "normalen" kreiert.
Nun erstellen wir einen neuen Benutzer, der ,für die per Mail übertragenden Beiträge, als Autor in Erscheinung treten soll. Dieser Benutzer bekommt die Rolle (Rechte) eines Autors und seine Mailadresse ist die "normale" Mailadresse, in unserem Fall die wordpress@meinblog.de.

Jetzt sind wir soweit, das Plugin zu aktivieren. Anschliessend gehen wir in unseren Adminbereich in die Einstellungen zum Unterpunkt "Configure Postie".
Hier tragen wir folgendes ein:

* Authorized Addresses: Hier kommt die "geheime" Mailadresse rein (xyzabc123@meinblog.de). Denn nur dieser Absender ist authorisiert, Berichte per mail einzustellen.
* Message Settings: Default post by mail category: Hier kann man eine Standard Kategorie einstellen. Wie man in der Mail die Zuordnung macht, berichte ich später.
* Mailserver Setting: Mailprotocol: POP3
* Mailserver: pop3.meinblog.de
* Mail UserID: xyzabc123 (bei meinem Hoster durfte hier nur der Name, ohne @………. rein)
* Mail Password: (bleibt leider im Klartext stehen 🙁

Wie schaffe ich es, die per Mail geschickten Artikel in eine schon vorhandene Kategorie zu bekommen?

1. Grundsätzlich über den Betreff. Hier muss am Anfang der Name der Kategorie, gefolgt von einem ":" stehen.
2. Ist die Kategorie vorhanden, wird der Beitrag dort reingestellt. Beim nächsten Aufrufen der Seite, wird es aktualisiert
3. Ist die Kategorie nicht vorhanden, kommt alles in "Allgemein"rein
4. Alles was hinter dem Doppelpunkt als Text steht, wird als Artikelüberschrift benutzt