RSS-Feeds deaktivieren und aus wp_head entfernen

Plugin

// Feeds deaktivieren und Fehlermeldung ausgeben
 function disable_feed() {
 wp_die( __('Für diese Website ist kein Feed verf&uuml;gbar. <a href="'. get_bloginfo('url') .'">Zur Startseite</a>.') );
 }
 add_action('do_feed', 'disable_feed', 1);
 add_action('do_feed_rdf', 'disable_feed', 1);
 add_action('do_feed_rss', 'disable_feed', 1);
 add_action('do_feed_rss2', 'disable_feed', 1);
 add_action('do_feed_atom', 'disable_feed', 1);
// Feeds aus wp_head entfernen
 remove_action( 'wp_head', 'feed_links_extra', 3 );
 remove_action( 'wp_head', 'feed_links', 2 );

Letzte Bearbeitungen Admin Dashboard Widget

Plugin

add_action( 'wp_dashboard_setup', 'dashboard_last_edits_register_dashboard_widget' );
 function dashboard_last_edits_register_dashboard_widget()
 {
 wp_add_dashboard_widget(
 __FUNCTION__, 'K&uuml;rzlich bearbeitete Inhalte', 'dashboard_last_edits_render_dashboard_widget');
 }
function dashboard_last_edits_render_dashboard_widget() { 
 $posts = get_posts(
 array ('numberposts' => 10, 'post_type' => array ( 'post', 'page' ), 'orderby' => 'modified')
 );
 if ( ! $posts )
 {
 print 'Keine Bearbeitungen gefunden. <a href="'
 . admin_url( 'post-new.php' ) . '">Einen Beitrag schreiben.</a>';
 }
 else
 {
 echo '<ul>';
 foreach ( $posts as $post )
 { printf('<li>&raquo; <a href="%1$s">%2$s</a></li>', esc_html( get_permalink( $post->ID )),
 esc_html( $post->post_title )); }
 echo '</ul>';
 }
}

Zentrale Funktionen für Sicherheit und Nutzerfreundlichkeit im WPMU-Netzwerk

Zentrale Datei mit Funktionen, die im kompletten MU-Netzwerk ausgeführt werden.

/wp-content/mu-plugins/general-security-usability.php

<?php
/*
Plugin Name: General Security &amp; Usability
Plugin URI: http://wpdoc.de/?p=81
Description: Grundlegende Einstellungen hinsichtlich Sicherheit, Nutzerfreundlichkeit und Datenschutz.
Author: Johannes Ries
Author URI: http://johannesries.de
Version: 2.1
*/

// NOBLOGREDIRECT Workaround
remove_action( 'template_redirect', 'maybe_redirect_404' );

// Kommentare ohne IP-Adresse und Cookies speichern
add_filter( 'pre_comment_user_ip', '' );
  remove_action( 'set_comment_cookies', 'wp_set_comment_cookies' );// Login-Fehlermeldung bearbeiten
  function failed_login() {
  return 'Die eingegebenen Daten sind fehlerhaft. ';
}
add_filter('login_errors', 'failed_login');

// Dashboard umbennen in Übersicht
add_filter(
'gettext', 'change_names' );
add_filter( 'ngettext', 'change_names' );
function change_names( $translated ) { $translated = str_ireplace(
'Dashboard', '&amp;Uuml;bersicht', $translated );
return $translated;}

// Bilder grundsätzlich mit Datei (nicht Anhangseite) verlinken
update_option('image_default_link_type','file');

// Leere Absätze entfernen
add_filter('the_content', 'remove_empty_p', 20, 1);
function remove_empty_p($content) {
  $content = force_balance_tags($content);
  return preg_replace('#<p>(s|&nbsp;)*+(<brs*/*>)?(s|&nbsp;)*</p>#', '', $content);
}

// Änderungsmöglichkeit für das Farbschema des Administrationsbereich entfernen
function admin_color_scheme() {
  global $_wp_admin_css_colors;
  $_wp_admin_css_colors = 0;
}
add_action('admin_head', 'admin_color_scheme');

// Aktualisierungshinweis nur für Admins in Singlesite-Umgebung bzw. nur für Superadmins in Multisite-Umgebung
add_action(
'plugins_loaded',
function () {
  if (( is_multisite() &amp;&amp; !current_user_can('manage_network') ) || ( !is_multisite() &amp;&amp; !current_user_can('create_users'))) {
  add_action( 'init', create_function( '$a', &quot;remove_action( 'init', 'wp_version_check' );&quot; ), 2 );
  add_filter( 'pre_option_update_core', create_function( '$a', &quot;return null;&quot; ) );
  add_filter( 'pre_site_transient_update_core', create_function( '$a', &quot;return null;&quot; ) );
}
}
);
?>

Beiträge im Archiv in zwei Spalten ausgeben

archive.php

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php $postcount++; ?>
<div <?php post_class() ?>>
<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<div class="entry">
<?php the_excerpt() ?>
</div>
</div>
<?php if ($postcount % 2 == 0) { ?><p class="clear"></p><?php } ?>
<?php endwhile; else : endif; ?>

style.css

.clear { clear:both; margin:0; padding:0; }
.archive .post { float:left; width:40%; margin:0 10px 10px 0; }

Artikelbild mit Zufalls-Bild als Fallback

  • start.php mit benutzerdefinierter Startseite auf der eine eigene Version des Artikelbilds (homepage-thumbnail) ausgegeben werden soll
  • single.php mit entsprechendem Artikelbild
  • ein Ordner /images/artikelbild/start/ im Theme-Ordner, in dem Bilder 1.jpg, 2.jpg und 3.jpg in den passenden Dimensionen des homepage-thumbnail abgelegt sind
  • ein Ordner /images/artikelbild/single/ im Theme-Ordner, in dem Bilder 1.jpg, 2.jpg und 3.jpg in den passenden Dimensionen des post-thumbnail abgelegt sind
  • hat ein Artikel kein Artikelbild, wird automatisch mittels Zufallsfunktion eines der Bilder aus den Ordnern angezeigt

functions.php

add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 600, 200, true );
add_image_size( 'homepage-thumbnail', 290, 120, true );

start.php

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
<?php if ( has_post_thumbnail() )
{ the_post_thumbnail( 'homepage-thumbnail', array('class' => 'homepage-thumbnail') ); }
else { ?>
<img src="<?php bloginfo('template_directory'); ?>/images/artikelbild/start/<?php echo mt_rand(1, 3); ?>.jpg" alt="<?php the_title(); ?>" class="homepage-thumbnail" />
<?php } ?></a>

single.php

<?php if ( has_post_thumbnail() )
{ the_post_thumbnail( 'post-thumbnail', array('class' => 'single-thumbnail') ); }
else { ?>
<img src="<?php bloginfo('template_directory'); ?>/images/artikelbild/single/<?php echo mt_rand(1, 5); ?>.jpg" alt="<?php the_title(); ?>" class="single-thumbnail" /><?php } ?>

Anpassen

Bild uhrzeitabhängig anzeigen

header.php oder andere geeignete Stelle

<?php
 $time = date("H") - 1;
 if($time > 7 && $time < 19)
 { $img = "tag"; } else{$img = "nacht";}  ?>
 <style type="text/css" media="screen">
 @import url( <?php bloginfo('stylesheet_url'); ?> );
 #headerimg2, #headerimg2 a {background-image:url(<?php bloginfo('template_directory'); ?>/style/headerimg2-<?php echo($img); ?>.jpg);}
 </style>

Im Templateordner müssen entsprechend Dateien mit headerimg2-tag.jpg und headerimg2-nacht.jpg hinterlegt sein.

Countdown Funktion

sidebar.php (oder entsprechend andere Stelle)

echo CountDown(24, 12, 2003);
 // Funktion: CountDown
 // Gibt die Tage, Stunden oder Minuten bis zu einem
 // bestimmten Zeitpunkt zurück.function CountDown($tag,$monat,$jahr) {
 // Berechnungen
 $cd['sekunden'] = mktime(0,0,0,$monat,$tag,$jahr) - time();
 $cd['minuten'] = floor($cd['sekunden'] / 60);
 $cd['stunden'] = floor($cd['minuten'] / 60);
 $cd['tage'] = floor($cd['stunden'] / 24);
 // Abbruch
 if($cd['sekunden'] < 0)
 return FALSE;
 // Ausgabe vorbereiten
 if($cd['tage']) {
 $wert = $cd['tage'].' Tag';
 if($cd['tage'] > 1) $wert.='e';
 } elseif($cd['stunden']) {
 $wert = $cd['stunden'].' Stunde';
 if($cd['stunden'] > 1) $wert.='n';
 } else {
 $wert = $cd['minuten'].' Minute';
 if($cd['minuten'] > 1) $wert.='n';
 }
 // Rückgabe
 return 'noch '.$wert;
 }