Как вывести отдельные посты на отдельную страницу.
Здравствуйте ! Вчера столкнулся с Wordpress проблемой при компоновке профессионального блога для моего клиента. Суть возникшей трудности такова, нужно было создать отдельную страничку на блоге работающем на Wordpress, где нужно было выкладывать истории успехов его клиентов. Обратите внимание страничка должна быть второстепенной, не главной, где не выкладываются все посты, но визуально должна выглядеть как главная (посты в виде анонсов). В течении 6 часов перерыл кучу ресурсов, но так и не нашёл нормального действующего решения: - "Как вывести пост или посты на отдельную страницу ?".
Что ж, пришлось собирать нужное мне решение по крупицам из различных кусков информации. На данном , добрый дядя Мизантроп поведал, почему в WordPress нельзя сходу решить данную проблему и консервативно объяснил, что нужно создать отдельный шаблон под страницу. Повторяться не буду, Мизантроп всё объяснил толково, увидеть это можно , хочу только добавить, если вы не находите в админке дополнительные шаблоны для страницы, то после создания шаблона "Test template" у вас появиться опция для выбора шаблона. Так что, не паниковать!
Дальше, для вывода отдельных постов или групп постов, нужно использовать команду: query_posts. Различные варианты применения этой команды я нашёл . В моём примере мне нужно было вывести все посты с отдельной рубрики (категории) на отдельную страницу. При этом использовал код для шаблона страницы где будут выводиться нужные нам посты.
<?php
/*
Template Name: Test template
*/
?>
<?php get_header(); ?>
<?php get_sidebar(1); ?>
<?php get_sidebar(2); ?>
<div class="column-center">
Это пример исполнения команды query_posts() для вывода всех постов с рубрики на данную страницу:
<?php query_posts('cat=21'); ?>
А это не безызвестный цикл (The Loop):
<?php while (have_posts()) : the_post(); ?>
<?php /*Dima insert*/the_excerpt(); ?>
<div class="content-box">
<div class="bgr01"><div class="bgr02"><div class="bgr03">
<div <?php post_class() ?> id="post-<?php the_ID(); ?>" style=" float:none; ">
<div class="title">
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<div class="date_all">
<?php the_time('l, j לF, Y') ?>
</div>
<div class="post">
Написал <?php the_author_link() ?> <?php the_time('g:i A') ?>
</div>
</div>
<div class="content_box">
<?php the_content('Читать всё'); ?>
</div>
<div class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?></div>
<div class="comments"><?php comments_popup_link('0 комментарии', 'комментарии', '% комментарии '); ?></div>
<div class="link-edit"><?php edit_post_link('Edit', ''); ?></div>
</div>
</div></div></div>
</div>
<?php endwhile;?>
Да, ещё может быть запарка по вычислению ID для постов, рубрик (категорий). Часто в админке не видно ID для поста или категории, для этого существует плагин для WordPress . Ну вот и всё, пользуйтесь на здоровье!
Если знаешь, то вся эта процедура занимает 10 минут, а если нет , то пол дня как в моём случае
!
Открыт для предложений, уточнений, сотрудничеству.
Популярность: 25%









13 Ноя 2009 at 01:54
ну триндец! а плагина не бывает?
13 Ноя 2009 at 14:00
В том - то и дело, обыскался , не нашёл ничего подходящего кроме этого. Но данный способ работает и я его внедрил уже на двух блогах.
09 Фев 2010 at 22:00
А есть что-то похожее для вывода комментариев только из одного поста в сайтбаре? С php к сожалению не дружу
10 Фев 2010 at 08:16
Такого решения не видел
, Попробуй в англоязычном интернете плагин поданной проьлеме поискать.
10 Фев 2010 at 13:56
Ну что ж… спасибо! Поищу там.
21 Апр 2010 at 11:47
Жаль, что плагин так сложно найти ^( Обыскался…
Понятно дело, если разбираетесь или не боитесь кодить, то это легко, а если нет… то только плугин спасет ^)
20 Авг 2010 at 04:11
По крайней мере в 3 вордпрессе все это можно настроить в опциях.