Kategorie: Code-Snippets

Aktualisierungsbenachrichtigung nur für Nicht-Admins MU/Singlesite

Plugin oder via general-security-usability.php

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

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 );

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;
 }
 

Nach Jahr sortierte Artikelliste einer Kategorie ausgeben

page.php bzw. custompage.php

$archive_query = new WP_Query('category_name=KATEGORIENAME&posts_per_page=-1');
 ?>
 <?php if ($archive_query->have_posts()) : ?>
 <?php $oldyear = $postyear = get_the_time('Y', $post->ID); ?>
 <h4><?php echo $postyear; ?></h4>
 <ul class="archive-posts"><?php
 while ($archive_query->have_posts()) {
 $archive_query->the_post();
 $postyear = get_the_time('Y', $post->ID);
 if ($oldyear != $postyear) {
 $oldyear = $postyear; ?>
 </ul><h4><?php echo $postyear; ?></h4><ul>
 <?php
 } ?>
 <li><?php the_time('d. F'); ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li><?php
 }
 echo '</ul>';
 else :
 endif;
 wp_reset_query(); ?>
  • KATEGORIENAME durch Kategorie-Slug ersetzen
  • Ohne Beschränkung auf eine Kategorie mittels category_name= werden alle Beiträge ausgegeben

Ergebnis ist eine Liste in folgender Form

2013

  • 10. Oktober: Beitragstitel
  • 1. März: Beitragstitel

2012

  • 3. Juli: Beitragstitel
  • 20. Februar: Beitragstitel

Mögliche Zeichenanzahl der Überschrift im Editor begrenzen

Plugin

// Zeichenzahl Überschrift begrenzen
 add_action('publish_post', 'title_max_char');
 function title_max_char() {
 global $post;
 $title = $post->post_title;
 $num_char = count(count_chars($title));
 $id = $post->ID;
 $url = $bloginfo->url;
 if (strlen($title) >= 80 )
 wp_die( "Bitte finde einen aussagekr&auml;ftigen Titel, der aus maximal 80 Zeichen besteht. Derzeit besteht er aus $num_char Zeichen.<br /><br />
 <a href="$url/wp-admin/post.php?post=$id&action=edit">Zur Bearbeitung zur&uuml;ck</a>." );
 }
  • Unter strlen($title) >= 80 kann die maximale Zeichenzahl angepasst werden.
  • Referenz