게시물 테이블에서 선택해야합니다. 각 게시물은 카테고리 및 태그와 관련이 있습니다. 특정 태그/카테고리 및/또는 카테고리를 선택해야합니다. 용어 표에는 맞춤 입력란 'menu_order'가 있으며 카테고리 순서를 설정하는 데 사용됩니다. 해당 필드별로 게시물을 정렬하고 싶습니다. 내가 일반 선택 않는 경우 : Wordpress custom QUERY
SELECT * from wp_posts
LEFT
JOIN wp_term_relationships
ON (wp_term_relationships.object_id = wp_posts.ID)
LEFT
JOIN wp_terms
ON (wp_terms.term_id = wp_term_relationships.term_taxonomy_id)
WHERE 1=1
AND wp_posts.post_type = 'post'
AND (
wp_posts.post_status = 'publish'
OR wp_posts.post_status = 'private'
)
LIMIT 0, 20
나는 결과를 얻을 :
단지 소개입니다
+----------------+----------------+----------+---------------------+
| POST ID | Term name | order | type |
+----------------+----------------+----------+---------------------+
| 2 | Fire | 1 | category |
+----------------+----------------+----------+---------------------+
| 2 | blue | 0 | tag |
+----------------+----------------+----------+---------------------+
.
내가 수행하는 경우 $ wpdb-> terms.term_id = 170 태그 란 무엇인가요? 단 하나의 반품 만 있습니다.
+----------------+----------------+----------+---------------------+
| POST ID | Term name | order | type |
+----------------+----------------+----------+---------------------+
| 2 | blue | 0 | tag |
+----------------+----------------+----------+---------------------+
나는, 게시물을 선택 카테고리 또는/및 태그에 의해 필터링 한 후 POST에 부착 된 카테고리에서 TERM_ORDER을 얻을 필요가있다.
그래서 어떤 결과가 있더라도 상관 관계는 항상 관련 카테고리에서 가져옵니다.
MYSQL에서별로 강하지 않기 때문에 당황 스럽습니다. 모든 입력이 도움이 될 것입니다 :)
업데이트 ------------------------------------ --------------
그래서 미친 코딩 후에 나는 내가 원하는 것을 얻을 수있었습니다. 숨이 차서 느껴지지는 않지만 작동하지만 숨 쉬지 마십시오.
먼저 모든 제품을 수집하는보기를 만듭니다. 나는 다음 ID로 그룹이 중복 필터링하기 위해> 0을 필터링하여 카테고리의 순서를 얻을 관계와 조건을보기를 선택하고 가입 어디서 조회 할 그 후
$qqquery = "
CREATE VIEW samsam AS
SELECT
ID, post_content, post_title, post_excerpt, post_status, post_name, guid, post_type, $wpdb->term_relationships.term_taxonomy_id as cat_term_taxonomy_id, tt1.term_taxonomy_id as tag_term_taxonomy_id
FROM $wpdb->posts
LEFT
JOIN $wpdb->term_relationships
ON ($wpdb->term_relationships.object_id = $wpdb->posts.ID)
LEFT
JOIN $wpdb->term_relationships AS tt1
ON (tt1.object_id = $wpdb->posts.ID)
WHERE 1=1
AND $wpdb->posts.post_type = 'post'
AND (
$wpdb->posts.post_status = 'publish'
OR $wpdb->posts.post_status = 'private'
)
AND ( wp_term_relationships.term_taxonomy_id IN ($query_cat) // ID's of categories, seperated by coma
AND tt1.term_taxonomy_id IN (' . $add_query_tag_id . ') //ID's of POSTS seperated by coma
)
ORDER BY $wpdb->term_relationships.term_taxonomy_id DESC
";
$wpdb->query($qqquery);
.
$querystr = "
SELECT * from samsam
LEFT
JOIN $wpdb->term_relationships
ON (samsam.ID = $wpdb->term_relationships.object_id)
LEFT
JOIN $wpdb->terms
ON ($wpdb->terms.term_id = $wpdb->term_relationships.term_taxonomy_id)
AND ($wpdb->terms.menu_order > 0)
WHERE menu_order > 0
GROUP BY ID
ORDER BY menu_order ASC
LIMIT $item_limit_offset, $item_limit_pp"; // first is calculation of products to skip, second is how many posts per page
$pageposts = $wpdb->get_results($querystr, OBJECT);
그것은 무엇을 :
카테고리 1 (이 순서 1) 후 후 후
카테고리 3 (순서 2가) 후 후
카테고리 게시물을 2 (주문 3을 받음) 게시물 게시물 게시물
태그 및/또는 카테고리별로 제한, 오프셋, 페이지 매김, 필터링 할 수 있습니다.
주문 카테고리에 추가 필드를 추가하는 플러그인 "Term Menu Order"를 사용했습니다.
좋은 하루 보내십시오.
감사합니다, 나는 좋은 하루 나쁜 코딩, 덕분에 많이 사용하여 내가 원하는 것을 달성하도록 관리, 해상도가 원래의 게시물에 게시 :) – LatvjuAvs