Immer wieder stößt man bei der eigenen Theme Erstellung auf Hindernisse, die man am liebsten gar nicht hätte. Um gewisse Funktionen auf dieser Seite zu aktivieren, habe ich mich durch etliche Seiten kämpfen müssen. Ich werde hier auch nicht groß um den heißen Brei reden und den Code ohne große Erläuterung posten.
Wie immer gilt: Keine Haftung für Fehler.
Monatsarchiv anzeigen:
<?php wp_get_archives('type=monthly&format=custom&after=
'); ?>
Tagcloud erstellen:
<?php $args = array( 'smallest' => 8, 'largest' => 20, 'number' => 15, 'order' => 'RAND', 'format' => 'flat', 'filter' => 1 ); ?>Schlagwörte
<?php wp_tag_cloud( $args ); ?>
Themen und die Anzahl der Artikel anzeigen lassen:
Hier gab es einen bug bei dem der Inhalt von statischen Seiten nicht mehr gelistet wurde. Ist gefixt.
Themen:
<?php $count_posts = wp_count_posts(); $numberofcats = wp_count_terms('category'); echo "<p><u>".$count_posts->publish." Artikel in ".$numberofcats. " Kategorien:</u></p>"; ?> <?php wp_list_categories('show_count=1&title_li='); ?>
Ergebnisse und Vorschau für Tags oder Archive erzeugen:
###### index.php ###### <?php if ( is_tag() ) { ?><?php echo $wp_query->found_posts , " Beiträge für Schlagwort: " , single_tag_title(); ?>
<?php } elseif (is_archive()){ ?><?php if ( is_day() ) { ?> Beiträge für <?php echo get_the_date(); ?> <?php } elseif ( is_month() ) { ?> Beiträge für <?php echo get_the_date('F Y'); ?> <?php } elseif ( is_year() ) { ?> Beiträge für <?php echo get_the_date('Y'); ?> <?php } else { ?> <?php echo get_queried_object()->name; ?> <?php } ?>
<?php } else { ?><?php $categories = get_the_category(); foreach ($categories as $category){ echo $category->cat_name; } ?>
<?php }?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (is_month() || is_tag()) { ?><?php the_title(); ?>
<?php the_excerpt(); ?><?php } else { ?><?php the_title(); ?>
<?php the_content(); ?><?php }?> <?php endwhile; ?> <?php endif; ?>
Inhalt auf Statischen Seiten definieren
###### page.php ###### <?php if ( is_front_page() ) { ?>Willkommen
<?php } ?> <?php if( is_page( array( 'IrgendeineSeite' ) )) {?> Hier könnte Ihre Werbung stehen! <?php }else if( is_page( 'ZumBeispielImpressum' )) { echo "Das ist ein Impressum"; }?>
Links für nächsten und vorherigen Artikel:
###### single.php ###### .postleft{width: 130px; float:left;} .postright{width: 120px; float:right;}<?php previous_post_link( '%link', '« Vorheriger Artikel', TRUE, '13' ); ?>|<?php next_post_link( '%link', 'Nächster Artikel »', TRUE, '13' ); ?>
Tags des entsprechenden Artikels anzeigen:
<?php $tags_list = get_the_tag_list( '', _x( ', ', '', '' ) );
if ( $tags_list ) {
printf( '
',
_x( '' //Font-Awesome Tag Symbol, '', '' ),
$tags_list
);
}
?>
Anzahl der Kommentare anzeigen:
<?php comments_number('Keine Kommentare', 'Ein Kommentar', '% Kommentare'); ?>
Automatische Absätze deaktivieren:
###### functions.php ###### remove_filter('the_content', 'wpautop');
Hochgesetzte Anführungszeichen:
###### functions.php ###### function anfuehrungszeichen( $translations, $text, $context, $domain ) { if ( 'opening curly single quote' == $context && '‘' == $text ) {$translations = ''';} if ( 'closing curly single quote' == $context && '’' == $text ) {$translations = ''';} if ( 'opening curly double quote' == $context && '“' == $text ) {$translations = '"';} if ( 'closing curly double quote' == $context && '”' == $text ) {$translations = '"';} return $translations; } add_filter( 'gettext_with_context', 'anfuehrungszeichen', 10, 4 );
Multiple Sidebars mit get-sidebar():
Im Themeordner zum Beispiel die Dateien sidebar.php und sidebar-1.php erstellen
Sidebars werden im Theme wie folgt auferufen: <?php get_sidebar(); ?> <?php get_sidebar( '1' ); ?> sidebar-irgendwas.php <?php get_sidebar( 'irgendwas' ); ?>
Doppeltes Minus und Anführungsstriche entfernen:
functions.php:
function double_minus( $content ) { $old_stuff = array("–", "—", "‘", "’"); $new_stuff = array("--", "-", "'", "'"); $content = str_replace($old_stuff, $new_stuff, $content); return $content; } add_filter( 'the_content' , 'double_minus' , 50 );