Страницы,записи и рубрики

Как сделать что б записи делались на страницу которую хочу. К примеру страница хокей и страница тенис, на каждой публикуются записи с новостями своего вида спорта?

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

Для это вам нужно создать шаблоны страниц. И применить их к страницам которые вы создали в админке.

Создайте файл hokej.php и сохраните его в папке вашего шаблона сайта.
Пропишите в самом верху код что бы вордпресс понял что это новый шаблон, как это сделать смотрите тут:
Как создать свой шаблон для страницы в вордпресс?

далее скопируйте код из вашего шаблона, из файла page.php и вставьте его ниже кода который был выше.

Теперь вам нужно заменить цикл вывода записи на свой, как работать с циклами и запросами в вордпресс смотрите тут:
wp_query

с помощью wp_query вы сможете сделать любую выборку(и вывести все новости хокеея).

Теперь осталось открыть в админке вашу страницу про хоккей и справа будет блок выбора шаблона. Выберите его и обновите страницу.

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

Спасибо большое. Хоть тут дали внятный ответ из всего перелопаченного материала, иногда смотрели как на контуженого)

Если возникнут вопросы при реализации спрашивайте.

в 29.11.2015.
Добавить Комментарий

есть кокой нить стандартный набор?
вот что у меня:
<?php
/*
Template Name: My Shablon
*/
?>
<?php
/**
* Template for displaying all pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other ‘pages’ on your WordPress site will use a
* different template.
*
* @package WordPress
* @subpackage Twenty_Eleven
* @since Twenty Eleven 1.0
*/

get_header(); ?>

<div id=»primary»>
<div id=»content» role=»main»>

<?php while ( have_posts() ) : the_post(); ?>

<?php get_template_part( ‘content’, ‘page’ ); ?>

<?php comments_template( », true ); ?>

<?php endwhile; // end of the loop. ?>

</div><!— #content —>
</div><!— #primary —>

<?php get_footer(); ?>

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

вам вот это:

 <?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( ‘content’, ‘page’ ); ?>
<?php comments_template( ”, true ); ?>
<?php endwhile; // end of the loop. ?>
 

нужно заменить на:

 // задаем нужные нам критерии выборки данных из БД
 $args = array(
 'posts_per_page' => 5,
 'orderby' => 'comment_count'
 );
$query = new WP_Query( $args );
// Цикл
 if ( $query->have_posts() ) {
 while ( $query->have_posts() ) {
 $query->the_post();
 echo '<li>' . get_the_title() . '</li>'; // тут мы выведем заголовок. Тут вы можете вывести то что вам нужно используя стандартные функции wp
 }
 } else {
 // Постов не найдено
 }
 /* Возвращаем оригинальные данные поста. Сбрасываем $post. */
 wp_reset_postdata();
 

при этом изменить аргументы массива $args на нужные вам. Про аргументы, какие для чего смотрите тут: wp_query

Если вам просто вывести из категории, это будет так:

 $args = array(
 'posts_per_page' => 5, // - тут количество записей на странице
 'cat' => 12 // 12 - это id категории
 );
 

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

Пока пробую. Как комплемент Вам, ниодна из 4 соцгруп Вконтакте не дала внятный ответ мне. В чем спасибо.

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

Вроде получилось

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

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.