Поддержка Проблемы и решения Вывод новостей внизу одной страницы

  • Возможно сейчас задам глупый вопрос, но как вывести последние несколько новостей на одной странице (например, главной)? Т.е. именно не в сайдбаре, а на странице, внизу.
    Есть какой-то плагин или код какой-то надо вставить, или как-то иначе?

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • вам надо в файле index.php в нужном вам месте прикрепить код, подробнее, например, тут http://maxsite.org/vyivod-poslednih-zapisey

    Создала у себя файл main-functions.php
    Добавила в index.php нужный код (приведенный по ссылке)
    Нигде ничего не отображается =(

    В данный момент index.php выглядит так (без добавление в него строк с вызовом main-functions.php — это сработало только в сайдбаре):
    Куда здесь добавить и какие строки?:

    <?php get_header(); ?>
    <?php $options = get_option('pb_options'); ?>
      <div id="middle-contents" class="clearfix">
    
       <div id="left-col">
    
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    
        <div class="post">
         <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
         <ul class="post-info">
          <li><?php the_time(__('F jS, Y', 'piano-black')) ?></li>
          <?php if ($options['author']) : ?><li><?php _e('By ','piano-black'); ?><?php the_author_posts_link(); ?></li><?php endif; ?>
          <li class="write-comment"><a href="<?php the_permalink() ?>#comments"><?php _e('Write comment','piano-black'); ?></a></li>
          <?php edit_post_link(__('[ EDIT ]', 'piano-black'), '<li class="post-edit">', '</li>' ); ?>
         </ul>
         <div class="post-content">
           <?php the_content(__('Read more', 'piano-black')); ?>
           <?php wp_link_pages(); ?>
    
         </div>
    
        </div>
        <div class="post-meta">
         <ul class="clearfix">
          <?php if($options['post_meta_type'] == 'category') { ?>
          <li class="post-category"><?php the_category(' . '); ?></li>
          <?php } else { ?>
          <?php the_tags('<li class="post-tag">', ' . ', '</li>'); ?>
          <?php } ?>
          <li class="post-comment"><?php comments_popup_link(__('Write comment', 'piano-black'), __('1 comment', 'piano-black'), __('% comments', 'piano-black')); ?></li>
         </ul>
        </div>
    
    <?php endwhile; ?>
    <?php if (function_exists('wp_pagenavi')) { wp_pagenavi(); } else { include('navigation.php'); } ?>
    
    <a href="#pngfix-right" id="back-top" class="clear"><?php _e('Return top','piano-black'); ?></a>
    
    <?php else: ?>
        <div class="common-navi-wrapper">
          <p><?php _e("Sorry, but you are looking for something that isn't here.","piano-black"); ?></p>
        </div>
    <?php endif; ?>
    
       </div><!-- #left-col end -->
    
       <?php get_sidebar(); ?>
    
      </div><!-- #middle-contents end -->
    
    <?php get_footer(); ?>

    Вы же писали тут, что по образованию программист… Странные вопросы тогда ))
    Смотря куда вам надо. Предположительно после:

    <?php if (function_exists('wp_pagenavi')) { wp_pagenavi(); } else { include('navigation.php'); } ?>

    Atrax

    (@atrax)

    Ethical engineer

    slaFFik, так то «по образованию» 🙂 так и хочется вспомнить злую шутку Софьи Ковалевской…

    1. Я хоть и «по образованию» программист, но в php не разбиралась раньше.
    2. По-моему, здесь форум не для того, чтобы обсуждать людей.
    3. Вопрос мой может и странен, но Ваше решение не помогло. И спросила я не просто, чтобы мне ответили — я уже перепробовала не один метод вставки этих самых постов. Потому и спросила — чтобы уж ответили «профессионалы» и наверняка!

    Вообщем, добилась этого следующим путем:
    Это добавила не на страницу index.php, а на page.php

    <?php if ( is_page('index') ) : ?>
    <ul><div class="post">
        <?php $myposts = get_posts('numberposts=3'); foreach($myposts as $post) : ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php endforeach; ?> </div>
    </ul>
    <?php endif; ?>

    Единственная проблема осталась, что комментарии к одной из записей предлагает писать… (На Главной)

    Atrax

    (@atrax)

    Ethical engineer

    Коллега! 🙂 а воспользоваться поиском вам в голову не приходило?
    http://wordpress.org/extend/plugins/recent-posts/
    Самый простой способ «не забивать себе голову».

    Но если выводить через вышеупомянутый main-functions.php, то отображает дату и заголовок новости. Комментарии не предлагает писать.

    <?php if ( is_page('index') ) : ?>
    <?php
         require_once('main-functions.php');
         echo '<div class="last_post">';
             maxsite_last_post_cat();
         echo '</div>';
     ?>
    <?php endif; ?>

    Есть еще другая проблема (и в том и в другом случае): так как сайт мультиязычный (поддерживается через WPML 1.7.0) выводит он новости и на том, и на другом языках.

    Поиском я пользовалась еще как, прежде чем задавать вопрос.
    Слово «recent» мне не приходило в голову.
    Мне еще нужно, чтобы не только заголовки выводил, но и анонс…

    Atrax

    (@atrax)

    Ethical engineer

    А залезть внутрь плагина и добавить?
    Для вас-то, коллега 🙂 это проблемы составить не должно.

    Проблема с выводом даты поста. Выводит для всех одинаковую (а они разные), да еще и не правильную (ни у одного поста нет такой даты). Как правильно вызывать дату?
    <?php mdv_recent_posts(3, the_date( $format, $before, ' ', $echo ), '<br />', true, '0', true, false); ?>

    И есть какие-то подсказки по поводу того, как разграничить выбор постов (записей)? Т.е. если выбран язык русский — только записи на русском выводить и .т.п?

    Atrax

    (@atrax)

    Ethical engineer

    Это надо разбираться с WPML.
    Сам wordpress «не в курсе», что можно делать многоязычные блоги.
    Задачка нетривиальная, ответа «навскидку» здесь просто не существует.

    Изучайте документацию и код обоих плагинов.

    Окей, спасибо за ответ. Попробую поразбираться.
    А что насчет даты?

    Кажется мой вопрос про дату ускользнул от внимания:
    Проблема с выводом даты поста. Выводит для всех одинаковую (а они разные), да еще и не правильную (ни у одного поста нет такой даты). Как правильно вызывать дату?
    <?php mdv_recent_posts(3, the_date( $format, $before, ' ', $echo ), '<br />', true, '0', true, false); ?>
    В данном случае, он выводит дату для страницы, на которой вызываются посты.

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Тема «Вывод новостей внизу одной страницы» закрыта для новых ответов.