single.php

include (TEMPLATEPATH . '/searchform.php');
if (have_posts()) : while (have_posts()) : the_post();
the_time('F j, Y'); январь 28, 2006
the_author(); Yantar
the_category(', '); wordpress, рабочие моменты
the_ratings();
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 2)
UTW_ShowTagsForCurrentPost("commalist"); Ключевые темы: No Tags
show_post_count(); Просмотров: 5189

the_content();

Столкнулась с очередной проблемой. По замыслу, на первой странице сайта должны отображаться во-первых, новости, во-вторых, мнения так называемых опиньонмейкеров. Эти так называемые опиньонмейкеры собраны у меня все под крылышком отдельной категории "Мнения". То есть на каждого так называемого опиньонмейкера создана чилдрен-категория для вышеупомянутой категории, и туда, в эту чилдрен-категорию сыплются постинги с мнениями.
Так вот. Для вывода на главной странице постингов из какой-то отдельной категории принято пользоваться функцией query_posts($cat="номер_категории"). Нам эта функция не очень годится, потому что постинги дочерних категорий она не выводит.
Бывает, еще пользуются функцией in_category("номер категории"). То есть, обращаемся к базе, требуем от нее все постинги, и если они in_category, то выпускаем их на свет божий. Громоздкое решение для моей проблемы. Там надо много or. Хотя ради этого можно написать функцию, которая в массиве выводила бы id всех чилдрен-категорий.
Какие есть пути решения? 1. Написать функцию, которая не только требует в базе id чилдрен-категорий, но и сразу запрашивает базу на предмет постингов в этих нужных нам категорий. Меня смущает бесконечные условия, которые появятся в запросе к базе (SELECT * FROM posts WHERE post_parent=n or post_parent=n2 or post_parent=n3..... or post_parent=nn ORDER by post_date). Мне кажется можно как-то составить sql-запрос, который бы требовал постинги категорий, у которых parent-категория = x. Только вот в sql я не сильна, мягко говоря. Надо еще помнить, что каждый постинг имеет не одну категорию, то есть у постингов с категориями связь типа многое-ко-многим.

2. Есть такой плагин Topcat. Он записывает прямо в таблицу posts некую main-категорию, к которой относится этот пост. Очень удобно. С одной стороны, запись появляется в нескольких категориях сразу, с другой - у нее есть некая определяющая тема. Можно было бы в качестве main-категории использовать категорию с именем автора мнения. И ограничить запрос в базе теми записями, где main-category!=0. Беда в том, что я уже использую этот плагин. Можно, конечно, его скопировать, переименовать все функции, добавить в базу posts еще одно поле post_opinion... Сходу мне это сделать не удалось - там надо разбираться с add_filter, который добавлял бы в админскую панель возможность уточнения этого самого post_opinion. Но это вполне себе путь, мне кажется. Я, кстати, смогу его использовать, если мне так и не напишут плагин, который будет давать возможность обозначать не одного автора статьи, а нескольких... (написала и поняла, что не совсем понимаю, как это)
3. Есть еще решение: обозначать в качестве категории не только чилдрен-категорию опиньонмейкера, но и парент-категорию Мнения. А в отображении парент-категории Мнения просто не вызывать постинги, а вызывать только названия чилдрен-категорий, которые ей принадлежат. Единственная проблема (а как же без?) состоит в том, что когда я вывожу постинг, то отображается информация, в каких категориях этот постинг числится. И лишняя категория будет засорять все. Хотя можно при отображении конкретно мнений, а не статей не показывать этой информации, я все равно пока не решила, буду ли отображать мнения на отдельно странице.

Насколько этот текст оказался полезным?
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 2)
comments_template();

Комментарии (7) к записи «Особое мнение»

  1. Mixa Says:

    Я тебя уже наверно на гугл-групе достал, но все же… как вывести посты определенной категории на странице, какой код вставлять? Молжет, есть какой-то плагин? И тогда возникает еще несколько вопросов: выводяться посты полностью или только заголовки как в Recent Posts? Как лимитируется их выводимое количество?

  2. Foxx Says:

    Скажите, а Вы не сталкивались с плагином, который позволяет вывести на главной только заголовки новостей / постов? Т.е. в целом нафиг ничего не нужно больше, только название, а далее - по клику на названии - переход в саму новость?
    Вроде все перерыл… но так ничего и не нашел =(

  3. Yantar Says:

    Foxx - конечно не нашли, такой плагин и не нужен. Это делается вырезанием пары строчек из файла index.php вашей активной темы (например, попробуйте вырезать <?php the_content(); ?> или <?php the_excerpt(); ?>)

  4. Foxx Says:

    Yantar
    нашел. убрал. вроде то что надо! СПАСИБО!
    Чуть понаглею, с Вашего позволения, а можно этот заголовок отредактировать? Ну, например, добавить слева от него когда была дата поста, а справа - сколько комментариев (цифру)?

  5. Yantar Says:

    рядом с <?php the_title(); ?> поставьте <?php the_time(’F j, Y’); ?> и <?php comments_popup_link(); ?>

  6. Foxx Says:

    потрясающе! работает!!! очередное Вам С П А С И Б О!!!
    один только вопрос остался… как мне заставить отобразиться пост по клику на заголовке. я так понимаю что надо редактировать comments.php текущей темы, но вставляя туда код он его не понимает. Т.е. отображает все, но за пределами “темы”

  7. Foxx Says:

    все, разобрался!
    Спасибо Вам огроменное!!! Очень признателен!

Есть комментарии?

show_manual_subscription_form();

Subscribe without commenting

endwhile;