PHP
Leere Divs ausblenden
Obwohl Momentan wieder öfter Updates für WordPress herauskommen, ist es noch lange nicht perfekt. Eine sinnvolle Ergänzung für WP-Themes, die ich länger suchen musste, stellt Eric Martin in seinem Blog vor. Und zwar hatte ich das Problem, dass ich in der archive.php für die next_post_links ein wenig margin zum div hinzufügen wollte. Bei Themen, wo ich nicht so so viel geschrieben habe, also keine next_post_links benötigt werden, war der div für die Links aber weiter vorhanden und sorgte für einen zu großen Abstand zwischen Inhalt und Überschrift.
Leider hat WordPress keine Funktion integriert, mit der man den Container automatisch ausblenden kann. Abhilfe schafft ein Eintrag in die functions.php:
/**
* If more than one page exists, return TRUE.
*/
function show_posts_nav() {
global $wpknorg01_query;
return ($wpknorg01_query->max_num_pages > 1);
}
und das Ergänzen der archive.php durch
Automatische WordPress Updates
Bei Host Europe funktionierten die seit Version 2.7 zur WordPress Grundausstattung gehörenden automatischen Updates trotz richtig vergebener Schreibrechte nicht und man bekommt folgende Fehlermeldung:
ftp_rawlist() [function.ftp-rawlist]: Unable to create temporary file.
Check permissions in temporary files directory.
in /is/htdocs/.../www/wp-admin/includes/class-wp-filesystem-ftpext.php on line ...
Lösung des Problems war das Hinzufügen folgender Zeile in die wp-config.php:
putenv('TMPDIR='.ini_get('upload_tmp_dir') );
[via]
Valide Kommentarfelder trotz SessionID
Wer seine Seiten XHTML 1.0 Strict validieren lassen möchte muss Formulare mit Block-Elementen umgeben, sonst bekommt er vom Validator so etwas zu sehen:
document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag
Ich konnte dieses Problem mit dem WordPress Kommentarfeld nicht so leicht beheben, da hier serverseitig ein verstecktes Formularfeld mit der Sessionid angehängt wird, was sich automatisch noch vor die im Quelltext eingefügten Block-Elemente setzt.
Die Lösung des problems war, diesen PHP-Schnipsel vor das Formularfeld zu setzen:
[via]