WP без плагинов — 7+ хаков для новостей

Многие для расширения функционала установке плагинов предпочитают вносить изменения непосредственно в код файлов шаблона. Специально для них данная статья, в который мы реализуем некоторые полезные фишки для новостей wordpress.

1. Отображение всех новостей одного автора

В то место шаблона, где вы хотите выводить список записей от одного автора вставляем код:

 $numposts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_author = 1");

echo "Все статьи Шехерезады Степановны:";
<ul>
foreach ($numposts as $numpost) {
	echo "<li>".$numpost->post_title."</li>";
}
</ul>

2. Связанные новости

Для вывода похожих новостей есть множество плагинов для перелинковки, однако сделать это можно и вручную. Для этого вставляем строки в место вывода новостей wordpress:

<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
if ($tags) {
  echo 'Related Posts';
  $first_tag = $tags[0]->term_id;
  $args=array(
    'tag__in' => array($first_tag),
    'post__not_in' => array($post->ID),
    'showposts'=>5,      'caller_get_posts'=>1
  );
  $my_query = new WP_Query($args);
  if( $my_query->have_posts() ) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href="<?php the_permalink() ?>" 
rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></p>
    <?php endwhile;
  }
}
?>

3. Самые комментируемые новости за определенный период

<h2>Most commented posts from 2008</h2>
<ul>
<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN '2012-01-01' AND '2012-03-31' ORDER BY comment_count DESC LIMIT 0 , 10");

foreach ($result as $topten) {
  $postid = $topten->ID;
  $title = $topten->post_title;
  $commentcount = $topten->comment_count;
  if ($commentcount != 0) { ?>
    <li><a href="<?php echo get_permalink($postid); ?>">
<?php echo $title ?></a></li>
  <?php }
} ?>
</ul>

Здесь первая дата и вторая (BETWEEN ‘2012-01-01’ AND ‘2012-03-31’) — соответственно дата начала и окончания публикаций для вывода новостей wordpress.

4. Вывод похожих новостей от одного автора

function get_related_author_posts() {
    global $authordata, $post;
    $authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 5 ) );
    $output = '<ul>';
    foreach ( $authors_posts as $authors_post ) {
        $output .= '<li><a href="' . get_permalink( $authors_post->ID ) . '">' . apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . '</a></li>';
    }
    $output .= '</ul>';
    return $output;
}

5. Вывод списка старых новостей

<?php
$current_day = date('j');
$last_year = date('Y')-1;
query_posts('day='.$current_day.'&year='.$last_year);
if (have_posts()):
    while (have_posts()) : the_post();
       the_title();
       the_excerpt();
    endwhile;
endif;
?>

6. Вывод списка прилепленных новостей wordpress

<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );
if (have_posts()) : while (have_posts()) : the_post(); the_title(); the_excerpt(); endwhile; endif; ?>

7. Список авторов новостей

<ul>
<?php wp_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>

8. Вывод рекламы после первой новости на главной странице WordPress

<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
  <?php if ($count == 2) : ?>
          //Вставьте код вашего рекламного блока сюда
          <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_excerpt(); ?>
   <?php else : ?>
          <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_excerpt(); ?>
  <?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

wordpress новости

Спонсор публикации — сайт, который поможет создать интернет магазин

Поделись этой статьей с друзьями!

Это будет интересно прочитать:

Добавить комментарий