Archive for the ‘Wordpress’ Category.
1. Februar 2012, 11:27
Wenn man in WordPress debug auf true schaltet, bekommt man eventuell direkt die Meldung, dass wp_register_script oder wp_enqueue_script fehlerhaft aufgerufen wurde. Das hat mich schon etwas Zeit gekostet, die Lösung des Problems zu finden: man darf diese Funktionen nicht mehr so aufrufen sondern nur noch innerhalb einer action.
Vorher:
-
if ( !is_admin() ) {
-
wp_deregister_script('jquery');
-
wp_register_script
('jquery',
("http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"),
array('jquery'));
-
wp_enqueue_script('jquery');
-
}
Nachher:
-
if ( !is_admin() ) {
-
add_action('wp_enqueue_scripts', 'enqueue_scripts');
-
}
-
-
function enqueue_scripts() {
-
wp_deregister_script('jquery');
-
wp_register_script
('jquery',
("http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"),
array('jquery'));
-
wp_enqueue_script('jquery');
-
}
Und nun wirft das ganze keine Fehlermeldung bzw. Notice mehr aus!
1. Februar 2012, 09:18
Nach dem Umzug auf einen anderen Server zeigte der Downloadmanager plötzlich nichts mehr an außer Kategorien. Im Backend waren die Dateien noch vorhanden, nur angezeigt wurde nichts. Grund ist derselbe wie beim nextgen und contactform7 Plugin auch: sie alle gehen nach dem Serverumzug nicht mehr, weil die config Werte mit serialize() bearbeitet werden und mit einer geänderten Domain dann nicht mehr korrekt eingetragen werden. Hilft also nur eines: alle Download Templates händisch rüberkopieren und die Pfade ändern.
31. Januar 2012, 11:02
Wenn ich meine WordPress Daten mit get_post hole, dann ist post_content natürlich unformatiert. nl2br ist nur bedingt geeignet, aber es geht einfacher:
-
$p = get_post($id);
-
apply_filters('the_content', $p->post_content);
Ich LIEBE WordPress!
18. Januar 2012, 17:57
Nachdem ich ein wordpress Projekt von Server A nach Server B übertragen hatte, waren plötzlich sämtliche nextgen Konfigurationen verschwunden. Sämtliche Galerien auf der Seite funktionierten nicht mehr, stattdessen wurden einfach alle Bilder unformatiert und ohne hübsche Slideshow angezeigt.
Das Problem lässt sich mit Datenbankzugang folgendermaßen beheben: in wp_options den Eintrag finden wo option_name = ngg_options und dann option_value von der alten Datenbank holen und reinkopieren. Die Werte in option_value sind offenbar die config Werte der Galerie und werden aus irgendeinem Grund nicht richtig eingetragen in die Datenbank.

5. Dezember 2011, 08:18
Da war ich schon kurz davor, die beiden Tags mit preg_replace zu entfernen, bevor mir klar wurde, dass man beim Aufruf der Funktion direkt title und alt Tag ändern kann:
-
$tn = get_the_post_thumbnail
(get_the_ID
(),
'',
array( 'alt' =>
'',
'title' =>
''));
Und schon klappt das.
9. November 2011, 14:04
Ich hab heut sicher eine halbe Stunde damit verbracht... der on_sent_ok hook von contactform7 wollte nicht funktionieren.
Der Grund war, dass ich in aller Eile ein eigenes Template erstellt hatte, wo das Formular angezeigt wird, und dabei hatte ich völlig vergessen, in meiner footer Datei den WordPress Footer zu integrieren:
In dem Moment, wo ich den wieder integriert hatte, funktionierte auch der hook wieder und ich konnte mein Formular nach dem Senden auf eine Danke Seite weiterleiten...
/facepalm
25. Oktober 2011, 08:34
Meine Google Recherche diesbezüglich war sehr unergiebig. Die meisten Infos, die man bekommt, beziehen sich auf alte Versionen von bbpress oder solche, die kein WordPress Plugin. Deshalb hier eine kurze Erklärung, wie man das bbpress Plugin konfiguriert.
1. Template
Wenn man bereits ein eigenes Template hat, und nun auch das Aussehen von bbpress entsprechend anpassen will, muss man die Daten aus plugins/bbpress/bbp-themes/bbp-twentyten in seinen Theme Ordner (also themes/THEMENAME) kopieren. Vorsicht: die Dateien functions.php und style.css sind doppelt, diese natürlich nicht überschreiben, sondern die bbpress Inhalte in die entsprechenden Dateien kopieren. Damit sollte nicht länger das Standardtemplate in bbp-themes verwendet werden, sondern bbpress greift nun auf die Template Files im THEME Ordner zu.
2. Sprache
Drei einfache Schritte:
- plugins/bbpress/bbp-languages/bbpress.pot kopieren
- nach wp-content/languages/bbpress/ kopieren (dieser Ordner existiert wahrscheinlich noch nicht, einfach erstellen)
- die Datei in bbpress-de_DE.po umbenennen und übersetzen
Es sollte natürlich schon eine Übersetzung irgendwo geben, wichtig ist halt, dass die Datei bbpress-de_DE.mo heißt und in languages/bbpress/ liegt. Um das rauszufinden, musste ich mich Schritt für Schritt durch den Sourcecode arbeiten.
12. Oktober 2011, 07:40
Aktuell hatte ich ab und an mal Probleme mit den WordPress Permalinks. Es war nicht so, dass sie gar nicht funktioniert hätten, sondern eher dass einzelne Links nicht funktionieren wollten. Bei Projekt M war das Problem, dass sich die funktionierenden Permalinks abgewechselt haben. Es gab zwei Arten von Links: http://www.projekt.at/seitenname/ für alle Content Seiten, sowie spezielle Seiten für den Custom Post Type namens CPT, die über die Url http://www.projekt.at/ctp/name-132/ aufgerufen wurden. Und es ging immer nur eines von beiden, nach jedem Update der Permalinks ging das eine, das andere aber nicht und umgekehrt.
Problem war, dass das Plugin "custom post type" installiert war. Der custom post type CTP war allerdings aus Performancegründen zwar mit dem plugin erstellt worden, wurde aber in der functions.php noch einmal definiert. Wie genau sich das auswirkt, konnte ich nicht nachvollziehen und warum es dafür sorgt, dass sich die Permalinks abwechseln, ist mir auch nicht klar. Aber nach einem Auskommentieren der Definitionen in der functions.php hat sich das Problem erledigt.
Außerdem ist noch festzuhalten, dass WordPress generell und Permalinks speziell nicht gut auf posts reagieren, die in der Zukunft liegen. Ich habe einen kleinen Veranstaltungskalender programmiert mit Einträgen in der Zukunft und auch da wollten die Permalinks nicht so, wie ich das wollte.
3. Oktober 2011, 13:18
Die Funktion the_excerpt ist ja doch relativ beschränkt und bietet keine Möglichkeiten der Spezifizierung, was genau man haben möchte. Daher tut man gut daran, besser the_content mit seiner more Funktion zu nutzen. Bei Custom Post Types will das aber nicht immer gleich, bei mir hatte the_content('mehr lesen') erstmal keinen Erfolg, obwohl ich nach kurzer Google Suche oben global $more definiert habe. Warum? $more muss in der Schleife selbst definiert sein!
Falsch:
-
-
$more = 0;
-
-
$args =
array( 'post_type' =>
'referenzen');
-
$loop = new WP_Query( $args );
-
while ( $loop->have_posts() ) : $loop->the_post();
-
echo the_content
('meeeeehr',
TRUE);
-
endwhile;
Richtig:
-
$args =
array( 'post_type' =>
'referenzen');
-
$loop = new WP_Query( $args );
-
while ( $loop->have_posts() ) : $loop->the_post();
-
-
$more = 0;
-
echo the_content
('meeeeehr',
TRUE);
-
endwhile;
21. September 2011, 13:42
Das hat mich grad eine Stunde Arbeitszeit und MINDESTENS 10 Jahre meines Lebens gekostet. Ich hatte ein neues WordPress Template namens "Abstimmung" erstellt und einer Seite zugewiesen. Und plötzlich, wie aus dem Nichts, was die Arbeit von Stunden verschwunden und die Seite wieder auf einem alten Stand. Und egal, was ich tat, egal, wie oft ich mein Template hochgeladen und geändert habe, nichts fruchtete. Ich war schon soweit, beim Webspace Anbieter anzurufen und nachzufragen, ob es technische Schwierigkeiten gibt.
Bis mir plötzlich etwas auffiel. Ich hatte vor einer Weile eine Kopie des Templates gemacht, um einen alten Stand zur Verfügung zu haben, eine Datei namens "template-abstimmung Kopie.php". Und diese Datei hatte ich im Arbeitsprozess gedankenlos mit hochgeladen. Und plötzlich gab es zwei Templates namens "Abstimmung", denn auch die Kopie hatte ja diesen Namen. Im Backend schien aber nur einmal "Abstimmung" auf, darum habe ich es auch nicht gemerkt... und das ncähste Speichern speicherte dann natürlich genau das falsche Template.
Also, wenn sich WordPress Templates unerklärlicherweise plötzlich nciht mehr aktualisieren - kontrollieren, ob man nicht versehentlich ne Kopie erzeugt hat!