2012-03-21 17 views
5

Vorrei aggiungere una colonna alla mia finestra di amministrazione del tipo di post personalizzata per visualizzare la mia tassonomia personalizzata.Visualizzazione della colonna per tassonomia personalizzata nella pagina di amministrazione del tipo di post personalizzato

Questa soluzione fornita da @SarthakGupta crea la colonna per me, ma fa eco né la tassonomia né il messaggio "No tassonomia set": Showing custom taxonomy column in custom posts type listings

ho visto soluzioni simili pubblicati altrove, con denunce simili riguardo il vuoto colonna della tassonomia.

Quale potrebbe essere la causa del problema? È possibile che questa soluzione non funzioni con WordPress 3.3?

Grazie.

risposta

6

ho avuto questo problema e ha scoperto che sostituire le funzioni WP get_the_terms con una query personalizzata funzionato meglio - provare (dove custtype è il nome del tipo di messaggio personalizzato):

// custom columns 
add_filter("manage_edit-custtype_columns", "custtype_columns"); 
add_action("manage_posts_custom_column", "custtype_custom_columns",10,2); 

function custtype_columns($columns){ 
    $columns = array(
     "cb" => "<input type=\"checkbox\" />", 
     "title" => "Title", 
     "slug" => "URL Slug", 
     "custtype-type" => "Custom Taxonomy" 
    ); 
    return $columns; 
} 

function custtype_custom_columns($column,$id) { 
    global $wpdb; 
     switch ($column) { 
     case 'custtype-type': 
      $types = $wpdb->get_results("SELECT name FROM $wpdb->posts LEFT OUTER JOIN $wpdb->term_relationships ON ID = object_id LEFT OUTER JOIN $wpdb->terms ON term_taxonomy_id = term_id WHERE ID = {$id}"); 
      foreach($types as $loopId => $type) { 
       echo $type->name.', '; 
      } 
      break; 
     case 'slug': 
      $text = basename(get_post_permalink($id)); 
      echo $text; 
      break; 
     default: 
      break; 
     } // end switch 
} 

fa quel lavoro a tutti?

+0

mj7: Grazie mille. È grandioso Le tassonomie sono ora visualizzate. Una domanda, però: come potrei visualizzare le lumache e le tassonomie come collegamenti? – user705100

+0

Ovviamente dipende da cosa desideri collegarli: il sotto collega ogni tassonomia nell'elenco alla pagina di modifica per quella tassonomia: $ tipi = $ wpdb-> get_results ("nome SELECT, term_id FROM $ wpdb-> post LEFT OUTER JOIN $ wpdb-> term_relationships ON ID = object_id LEFT OUTER JOIN $ wpdb-> termini ON term_taxonomy_id = term_id WHERE ID = {$ id} "); \t \t \t foreach ($ tipi come $ loopId => $ tipo) { \t \t \t \t eco ''.$type->name.','; \t \t \t} \t \t \t interruzione; – mj7

+0

Non posso onestamente dire quale sia la posizione corretta per la pagina che ti serve - il modo migliore per scoprirlo è copiare il link della pagina di destinazione - incollarlo nel tag attorno al tipo e poi inserire $ type- > variabile term_id. Nota: è necessario assicurarsi di aggiungere il campo term_id all'istruzione SQL SELECT come nell'esempio precedente – mj7

22

da WordPress 3.5 è possibile attivare la registrazione quando si tassonomia personalizzato aggiungendo questo:

'show_ui'   => true, 
'show_admin_column' => true, 
+1

Così a portata di mano! – Dominic