Страницы,записи и рубрики
Как сделать что б записи делались на страницу которую хочу. К примеру страница хокей и страница тенис, на каждой публикуются записи с новостями своего вида спорта?
Для это вам нужно создать шаблоны страниц. И применить их к страницам которые вы создали в админке.
Создайте файл hokej.php и сохраните его в папке вашего шаблона сайта.
Пропишите в самом верху код что бы вордпресс понял что это новый шаблон, как это сделать смотрите тут:
Как создать свой шаблон для страницы в вордпресс?
далее скопируйте код из вашего шаблона, из файла page.php и вставьте его ниже кода который был выше.
Теперь вам нужно заменить цикл вывода записи на свой, как работать с циклами и запросами в вордпресс смотрите тут:
wp_query
с помощью wp_query вы сможете сделать любую выборку(и вывести все новости хокеея).
Теперь осталось открыть в админке вашу страницу про хоккей и справа будет блок выбора шаблона. Выберите его и обновите страницу.
Спасибо большое. Хоть тут дали внятный ответ из всего перелопаченного материала, иногда смотрели как на контуженого)

Если возникнут вопросы при реализации спрашивайте.
есть кокой нить стандартный набор?
вот что у меня:
<?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 соцгруп Вконтакте не дала внятный ответ мне. В чем спасибо.