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(); Просмотров: 2595

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:

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

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

It sounds like SK2 has recently been updated on this blog. But not fully configured. You MUST visit Spam Karma's admin page at least once before letting it filter your comments (chaos may ensue otherwise).
show_manual_subscription_form();

Subscribe without commenting

endwhile;