X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Wordpress: исключить категорию из custom query
Fallup
Fallup
Topic Starter сообщение 13.4.2013, 16:17; Ответить: Fallup
Сообщение #1


Привет.
В одном из шаблонов использую для вывода постов вот такую вот конструкцию.
<? $query_string = "  
SELECT *  
FROM $wpdb->posts
LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
WHERE $wpdb->postmeta.meta_key = '12m'
AND $wpdb->posts.ID != $post->ID
AND $wpdb->postmeta.meta_value = '1'
AND $wpdb->posts.post_status = 'publish'  
AND $wpdb->posts.post_type = 'post'
ORDER BY $wpdb->posts.post_name ASC ";  
$series_posts = $wpdb->get_results($query_string, OBJECT);  
if ($series_posts):  

foreach ($series_posts as $post):  
?>


Подскажите пожалуйста, как здесь можно исключить конкретную категорию или несколько категорий по ID или slug
Спасибо.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
meteora
meteora
сообщение 13.4.2013, 18:28; Ответить: meteora
Сообщение #2


вам надо дописать несколько join'ов... wp_posts -> wp_term_relationships -> wp_term_taxonomy -> wp_terms
ну а далее прописать что параметр term_id не равен значению исключаемой категории (WHERE $wpdb->terms.term_id != 'id_nubmer_of_category')
как то так=)


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fallup
Fallup
Topic Starter сообщение 13.4.2013, 18:46; Ответить: Fallup
Сообщение #3


<? $query_string = "
SELECT *
FROM $wpdb->posts
LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
LEFT JOIN $wpdb->wp_posts -> wp_term_relationships -> wp_term_taxonomy -> wp_terms
WHERE $wpdb->postmeta.meta_key = '12m'
WHERE $wpdb->terms.term_id != '261'
AND $wpdb->posts.ID != $post->ID
AND $wpdb->postmeta.meta_value = '1'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
ORDER BY $wpdb->posts.post_name ASC ";
$series_posts = $wpdb->get_results($query_string, OBJECT);
if ($series_posts):  

foreach ($series_posts as $post):
?>


Я тут попробовал навскидку. Естественно, не работает )


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
meteora
meteora
сообщение 13.4.2013, 19:09; Ответить: meteora
Сообщение #4


Fallup, не ну там на каждую таблицу надо join писать и параметры прописывать по которым таблицы джойнятся=))) не так все просто)))
покопайтесь в БД и сравните по каким параметрам таблицы связаны между собой, это полезно=)
делайте по примеру вот этой строчки
LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
в итоге должно получиться несколько таких аналогичных строчек

Сообщение отредактировал meteora - 13.4.2013, 19:09


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fallup
Fallup
Topic Starter сообщение 13.4.2013, 19:13; Ответить: Fallup
Сообщение #5


У меня беда с синтаксисом и php и SQL - поэтому и постоянно побираюсь на форумах в поисках решений от мозговитых человеков =)

Может можно заменить такой вывод через обычный wp_query или get_posts?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
meteora
meteora
сообщение 13.4.2013, 19:20; Ответить: meteora
Сообщение #6


Fallup,
можно, но опять же google вам в помощь=) по wp_query в нете куча материала, sql же чаще нужен если у вас там вывод по каким то необычным параметрам... на все остальное типа published можно использовать как раз стандартные wp_query

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПродам базу сайтов Wordpress в 16 миллионов доменов! Свежая сборка.
17 Boymaster 9806 17.3.2024, 2:53
автор: Boymaster
Открытая тема (нет новых ответов) Перенос сайта на CMS Wordpress
8 freeax 4847 10.3.2024, 14:58
автор: freeax
Открытая тема (нет новых ответов) Как настроить в WordPress для SEO оптимизации
8 rownong27 2431 2.3.2024, 12:59
автор: toplinks
Горячая тема (нет новых ответов) Восстановление сайтов из Вебархива на Wordpress.
39 freeax 32498 14.2.2024, 14:32
автор: freeax
Открытая тема (нет новых ответов) Разработка/доработка сайтов Wordpress, HTML/CSS/JS
Вёрстка, перенос на WP, правки
9 malamut 3335 25.1.2024, 14:36
автор: malamut


 



RSS Текстовая версия Сейчас: 29.3.2024, 10:34
Дизайн