10 полезных хаков WordPress

1. Отключение комментирования для постов старше … дней. Вставьте код в ваш functions.php-файл, заменив 30 на любое подходящее вам количество дней.

<?php
function close_comments( $posts ) {
	if ( !is_single() ) { return $posts; }
	if ( time() - strtotime( $posts[0]->post_date_gmt ) > ( 30 * 24 * 60 * 60 ) ) {
		$posts[0]->comment_status = 'closed';
		$posts[0]->ping_status    = 'closed';
	}
	return $posts;
}
add_filter( 'the_posts', 'close_comments' );
?>
2. Настройка изменяющихся дат. В тот фрагмент кода, где у вас динамические даты, вставьте
Copyright © 200x-<?php echo date('Y'); ?> Example.com.
3. Вставьте список HTML-теги для комментариев.
You may use: <?php echo allowed_tags(); ?>.
4. Добавить админскую кнопку “Изменить” к каждому посту.
<?php edit_post_link('Edit', ''); ?>
5. Во избежание дублирования контента – отключите индексирование тех или иных постов в категории.
<?php if ( is_category('4') || in_category('4') ) {
    echo '<meta name="robots" content="noindex">';
}
6. Выводит общее количество постов на блоге.
<?php $numposts = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'");
if (0 < $numposts)
     $numposts = number_format($numposts);
echo $numposts.' posts.';
?>
7. Добавить "Tweet This" к каждому посту.
<a href="http://twitter.com/home?status=I just read <?php the_permalink(); ?>" title="Send this page to Twitter!" target="_blank">Tweet This!</a>
8. Анонс: добавляет названия запланированных постов.
<?php
$my_query = new WP_Query('post_status=future&order=DESC&showposts=5');
if ($my_query->have_posts()) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <?php the_title(); ?>
    <?php endwhile;
}
?>
9. Не показывает выбранные вами категории.
<?php
if ( have_posts() ) : query_posts($query_string .'&cat=-3'); while ( have_posts() ) : the_post();
?>
10. Отделить пинги от трекбеков.
<?php if ( $comments ) : ?>
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>   <!-- It's a comment -->
<!-- Comment content goes here -->   <?php } else { $trackback = true; }?>
<?php endforeach; ?>
<?php if ($trackback == true) { ?>   <!-- It's a trackback -->
  <ol id="trackbacks-ol">
	  <?php foreach ($comments as $comment) : ?>
	  <?php $comment_type = get_comment_type(); ?>
	  <?php if($comment_type != 'comment') { ?>
	  <li>
		<?php comment_author_link() ?>
	</li>
	  <?php } ?>
	  <?php endforeach; ?>
  </ol>   <?php } ?>
<?php else : ?>
<?php endif; ?>

Popularity: 34% [?]


Счетчики