2013-04-09 2 views
0

Я бы хотел, чтобы я выбрал контент из Wordpress DB, чтобы заполнить <, выбрав > со всеми различными категориями, но его возможно, что в 2 сообщениях больше постов имеют одинаковую категорию, в этом случае i он должен показывать эту категорию только один раз.MySql получить только разные результаты запроса Wordpress

Пример:

Post1 cat = EN 
Post2 cat = EN 
Post3 cat = DE 
Post4 cat = FR 
Post5 cat = FR 

// The Result sould look like this: 
EN 
DE 
FR 

Это текущее состояние кода: (но dosnt Worke хорошо)

<select name="sprache"> 
     <option value="0">Alle Sprachen</option> 
     <?php 

     $selectsql = " 
      SELECT 
      wpos ts.*, 
      wterms.* 

      FROM $wpdb->posts wposts 
        INNER JOIN $wpdb->term_relationships AS tr ON (wposts.ID = tr.object_id) 
        INNER JOIN $wpdb->term_taxonomy AS tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) 
        INNER JOIN $wpdb->terms wterms ON (tt.term_id = wterms.term_id) 
        INNER JOIN $wpdb->postmeta wpostmeta ON (wposts.ID = wpostmeta.post_id) 

      WHERE wposts.post_status = 'publish' 
      AND tt.taxonomy = 'th5' 
      AND wpostmeta.meta_key= '_sprachgruppen' 

      GROUP BY tt.taxonomy 
      "; 

$select_output = $wpdb->get_results($selectsql,OBJECT); 

if ($select_output){ 
    foreach ($select_output as $post){ 
     setup_postdata($post); 

    if(isset($_POST[gruppe])){ 
     $option .= '<option value="'.$post->term_id.'"'; 
     $option .= ' >'; 
     $option .= $post->name; 
     $option .= '</option>'; 

    } 
echo $option; 
+0

Вы хотите только категории всех сообщений ?? –

+0

Я хочу, чтобы все категории одного типа (таксономии) с meta_key = "_ sprachgruppe" – user1606423

ответ

0

здесь вы идете со списком категорий одного post_type

SELECT `name` FROM`wp_terms` WHERE `term_id` IN (
SELECT term_id FROM `wp_term_taxonomy` WHERE `term_taxonomy_id` IN 
(SELECT `term_taxonomy_id` FROM `wp_term_relationships` WHERE `object_id` IN 
(SELECT ID FROM `wp_posts` WHERE post_type='your custom post type') AND `object_id` IN 
(SELECT post_id FROM `wp_postmeta` WHERE meta_key='_sprachgruppe') 
) 
) 

Будет легче, если вы знаете точный term_taxonomy name

Смежные вопросы