• Здравствуйте, прошу помочь мне с реализацией задумки… Суть ее такова: у меня есть Каталог автомобилей (родительская рубрика)
    —— Ауди (подрубрика) – здесь выкладываются рецензии на различные марки
    —— БМВ(подрубрика)
    —— ФИАТ(подрубрика)
    Продажа автомобилей (родительская рубрика) – сюда выкладываются объявления (отдельные посты, которые НЕ добавляются в рубрики марок)
    Мне нужно:
    Заходим в подрубрику Ауди и видим список постов(рецензий) из этой рубрики(сложность не в этом), затем опускаемся ниже и видим 5 постов из рубрики «Продажа автомобилей», которые отсортированы по модели автомобиля, тобишь Ауди – все объявления о продаже относятся к Ауди…

    Нужно как-то связать эти рубрики ( к слову подобный метод хотелось бы реализовать и фотоальбомами, например… Когда заходим в подрубрику БМВ, то выводятся все фотографии связанные с БМВ (то есть входят в дочернюю рубрику «Фотографии» — «Фотографии БМВ»)

    Было много мыслей, однако в силу недостаточного знания php не знаю, как точно реализовать это…

    Обьявления у меня реализуются через систему пользовательских полей (плагин ads wordpress), то есть при подаче объявления пользователь выбирает марку машины (значение в поле marka заносится такое же, как и название подрубрик «каталога автомобилей») — была мысль как-то сравнить название рубрики в которой я нахожусь со значением произвольного поля, и выводить сообщения из рубрики «Продажа» именно с тем произвольным полем, которое равно названию рубрики (возможно можно реализовать как-то по другому, подскажите, пожалуйста)

    По поводу реализации фотоальбома — есть мысль связать метки сообщений… То бишь в Каталоге автомобилей для каждой марки мы пропишем метку «Audi» допустим… В записях фотоальбома также создадим метку «Audi» (если машина относится к этой марке)… Возможно нужно как-то вытащить значение метки категории в которой я нахожусь и вывести сообщения из рубрики фотоальбом с такой же меткой…

    Очень прошу помочь с данной проблемой… Излазил весь гугл, проштудировал весь кодекс (в меру возможностей английского), но так и не нашел внятного решения данной задачи

Просмотр 15 ответов — с 16 по 30 (всего 37)
  • Объявлении первоочередная задача

    У меня есть тема, у меня реализованы объявления, у меня реализованы каталоги автомобилей…

    В объявлениях марка машины выбирается через <select> и значение записывается в произвольное поле

    Саму суть вы ведь уловили? Зашел в каталог Ауди — вывелись объявления по Ауди, зашли в каталог БМВ — вывелись объявления по БМВ…

    Я не знаю, как склеить две разные рубрики, чтобы выводилось именно по текущей рубрики всё.

    надеюсь на помощь, все же это не совсем «нубский» вопрос, вроде… Во всяком случае пробовал искать в кодексе, по форумам, по блогам — не нашел ответа

    Опять «склеить»? Да сформулируйте задачу нормально, может, решение найдется.

    Что вот ЗДЕСЬ не ясно:

    Нужно:
    Я захожу на страницу рубрики «Ауди» и внизу вижу 5 постов из рубрики «Продажа обьявлений», где выводятся обьявления о продаже Ауди,

    Затем захожу на страницу рубрики БМВ и внизу вижу 5 постов из рубрики «Продажа обьявлений», где выводятся обьявления о продаже БМВ

    Как еще назвать это, как не «склеивание» ???
    Мне надо чтобы это автоматически происходило, а не путем создания новых шаблонов категорий по 1 для каждой марки автомобиля…

    http://carsweek.ru/catalogue/chery/ — вот, посмотрите, пожалуйста, пример…

    CMS примера — битрикс, но не думаю .что нельзя реализовать подобное…

    Теперь понятно, вот это может пригодиться http://codex.wordpress.org/Function_Reference/query_posts

    В общем случае вам нужно вывести какой-нибудь слайдер и отредактировать его запрос, путем добавления фильтра на произвольное поле. Так?

    Я не знаю, как склеить две разные рубрики, чтобы выводилось именно по текущей рубрики всё.

    Вам не надо ничего склеивать, вам надо в шаблоне категорий — category.php, — например мы кликаем по ссылке audi, в первой петле вывести записи относящиеся к категории audi, а во второй петле объявления, выбранные по custom fields.
    Доки:
    http://codex.wordpress.org/Class_Reference/WP_Query#Usage
    http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters
    http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
    Думаю, вам для решения подойдет первая и последняя ссылки.

    Желательно, чтобы заголовки категорий (title) совпадали со значениями произвольного поля — тогда составить запрос для query_posts будет просто.

    wikicms, насколько я понял ваши ссылки — я их уже просматривал, выборку по произвольному полю сделать можно, но там фиксировано получается meta_key=marka&meta_value=audi…

    dikiy_forester Вы верно пишите… Заголовки категорий будут совпадать со значением произвольного поля… Можете прописать код, который будет сравнивать заголовки со значением произвольного поля?

    Да, но сегодня не ждите — у меня тут поздно уже.

    dikiy_forester буду ждать завтра тогда 🙂

    мне это напоминает «фильмушные» решения

    угу. Только даже проще — тут всего одно поле для выборки (мета-поле) — марка авто.

    Если я правильно понял, то задача достаточно простая — по этому полю делать выборку 5-ти (случайных\последних\етс) постов и выводить (тайтл\анонс\превиюху\етс) их куда надо (в вижет\под контент\етс).

    Т.е. по итогу чем-то напоминает многими любимую фича — «похожие записи», но выборка не по меткам\тайтлам\чего_там_еще_может_быть, а по мета-полю «марка авто» и только из одной рубрики — «объявления» (мб с подрубриками).

    насколько я понял ваши ссылки — я их уже просматривал, выборку по произвольному полю сделать можно, но там фиксировано получается …

    Когда вы находитесь в шаблоне категории, то вам доступна вся информация о текущей категории. Следовательно, что вам мешает использовать переменную в качестве значения произвольного поля meta_value=$current_cat_name

    тогда составить запрос для query_posts будет просто.

    Старайтесь не использовать query_posts вообще, это порождает только головную боль (и не только:). Подробнее (nacin один из разработчиков) http://www.slideshare.net/andrewnacin/you-dont-know-query-wordcamp-netherlands-2012
    http://www.slideshare.net/kovshenin/wpquery
    UPD вот, еще, почти по-русски 🙂 http://wordpress.stackexchange.com/questions/50761/when-to-use-wp-query-query-posts-and-pre-get-posts

    То, что query_posts для отдельных запросов не годится, я знал. Но из презентации Nacin следует, что даже модификация запроса query_posts( $query_string . '&order=ASC' ); — тоже не эргономичное решение.

    Спасибо, wikicms!

    После того, что вы представили — упираться рогами в query_posts не стал. Решил воспользоваться советами умных людей 🙂
    Для дополнительного запроса использовал WP_Query

    Вот пример, взгляните если не трудно:

    <?php
    $current_category = single_cat_title("", false); // Заголовок текущей категории
    $ads_query_args = array(
    	'post_type' => 'ad_listing', // замените 'ad_listing' на тип записи, используемый в плагине объявлений
    	'posts_per_page' => 5 // количество объявлений на странице
    	'meta_query' => array(
    		array(
    			'key' => 'manufacturer', // замените 'manufacturer' на мета имя произвольного поля "Производитель"
    			'value' => $current_category // значение поля "Производитель" равно заголовку текущей категории
    		)
    	)
    );
    
    $ads_query = new WP_Query( $ads_query_args );
    
    /**
    * Лента объявлений
    * Для примера выведены только Заголовки объявлений - замените на нужный шаблон
    * или воспользуйтесь функцией get_template_part()
    */
    while( $ads_query->have_posts() ):
    	$ads_query->next_post();
    	echo '<li>' . get_the_title( $ads_query->post->ID ) . '</li>';
    endwhile;
    
    // Восстановление исходных данных
    wp_reset_postdata();
    ?>

Просмотр 15 ответов — с 16 по 30 (всего 37)

Тема «Соединить посты разных рубрик» закрыта для новых ответов.