Archiv für die Kategorie „WordPress Hacks“
Einzelne Dashboard Menues ausblenden
Wenn man WordPress für einen technisch nicht so versierten Klienten einrichtet, kann es sinvoll sein einige Menues im Dashbord auszublenden.
Dazu einfach folgende Routine in die funktions.php des WordPress Themes einbauen:
function remove_menus () {
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');
Die Länge des Textauszuges (Exerpts) ändern
Um die Länge des Textauszugs (Exerpt) bei einem WordPress Blog zu ändern genügt es folgende Zeilen in die funktions.php einzufügen.
add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($len) { return 80; }
Im Beispiel liegt die Länge bei 80 Worten.
Content nur auf der Home Seite einbinden
Auf der WordPress Home Seite eine externe Datei einbinden
<?php if ( is_home() ) { include ('datei.php'); } ?>
Die Seite datei.php erscheint ausschliesslich auf der “Home” Seite.
The Exerpt Länge bei WordPress bestimmen
Um die Länge von Textauszügen frei festlegen zu können, genügt ein Eintrag in der functions.php
<?php
add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($length) {
return 30; }
?>
Nun ist der Textauszug 30 Worte lang. Falls keine functions.php vorhanden ist, kann man einfach eine erstellen und in das Themeverzeichnis laden.
Animierte Featured Posts in WordPress einbauen
Das Tutorial auf catswhocode.com zeigt wie man mit Hilfe des Javasacript Tools SmoothGallery
auf einfache Weise Featured Postings in einer Slideshow mit Texteinblendungen in ein WordPress Theme einbauen kann.
In das erste Posting automatisch Werbung einbinden
Um in das erste Posting automatisch Werbung einzubinden kann man folgenden Code verwenden. In der index.php des Themes nach der Zeile mit <?php if (have_posts()) : ?> suchen.
Direkt darüber folgende Zeile einfügen:
<?php $count = 1; ?>
Dann nach der Zeile beginnend mit
<?php the_content...
suchen. Nach dem schliessenden Tag dieser Sektion ( ?>) folgenden Code einbinden.
<?php if ($count == 1) : ?> Hier kommt die Anzeige hin <?php endif; $count++; ?>
Nun wird auf jeder Seite in das erste Posting Werbung eingebunden.
Die populärsten Postings anzeigen
Dieser Hack zeigt die populätsten Postings an
<h2>Popular Posts</h2>
<ul>
<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5");
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">
<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>
<?php } } ?>
</ul>
Quelle und weitere Anwendungen auf problogdesign.com
Simple Tags und WordPress 2.9
Das Simple Tags Plugin für WordPress wird im Moment nicht upgedatet und bringt eine Fehlermeldung bei WordPress 2.8 und 2.9. Das Problem liegt in der Versionsabfrage.
Einfach in der Datei simple-tags.php die folgende Zeile suchen:
if ( strpos($wp_version, '2.7') !== false || strpos($wp_version, '2.8') !== false ) {
Der zweite Eintrag der 2.8 muss gegen 2.9 ausgetauscht werden.
if ( strpos($wp_version, '2.8') !== false || strpos($wp_version, '2.9') !== false ) {
Danach läuft Simple Tags wieder fehlerlos.
Eine Kategorie von der Anzeige ausschließen
Mit folgendem kurzen Code in der index.php des Themes kann man eine Kategorie von der Anzeige auf der Startseite ausschliessen.
<?php
if (is_home()) {
query_posts("cat=-10");
}
?>
In diesem Fall wird die Kategorie mit der ID 10 auf der Startseite des Blogs nicht angezeigt.
Emailbenachrichtigung für neue User abstellen
Die Emailbenachrichtigung für neue User lässt Sich durch einen kleinen Eingriff in die Datei pluggable.php abstellen.
Im Verzeichnis /wp-includes/ nach der Datei pluggable.php suchen. Die Datei öffnen und nach der folgenden Zeile suchen:
wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);
diese Zeile durch zwei Schrägstriche zu Beginn der Zeile deaktivieren.
// wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);
Bei einem WordPress Update wird die Datei überschrieben und die Änderung muss wiederholt werden.
