Guten Tag ihr Lieben!
Ich probiere mein Glück gerade an Custom Post Types und bisher lief auch alles ganz gut. Ich habe einen CPT "Projekte" angelegt der eine eigene Taxonomie "Kategorien" hat. Der Übersicht halber habe ich das Beitragsbild sowie die Taxonomie in meiner Übersichtsseite aller Projekte im WordPress Backend ausgegeben:
Nun möchte ich jedoch auch noch ein Dropdown Menü haben, durch welches sind nur die Projekte anzeigen lassen, die einer gewissen Kategorie angehören, also quasi sowas:

Das Dropdown Menü funktioniert also, aber wenn ich beispielsweise nur alle Posts der Kategorie "süß" anzeigen möchte, funktioniert das nicht. Ich werde ganz normal auf die Übersichtsseite weitergeleitet und sehe nicht nur die "süß" Posts.
Hat jemand eine Idee woran das liegen könnte?
Hier mein Quellcode:
/******************* Custom Columns anlegen ****************/
add_filter( 'manage_edit-projekte_columns', 'my_edit_projekte_columns' ) ;
function my_edit_projekte_columns( $columns ) {
$columns = array(
'cb' => '<input type="checkbox" />',
'title' => __( 'Projektname' ),
'Kategorien' => __( 'Kategorien' ),
'beitragsbild' => __( 'Beitragsbild' ),
'date' => __( 'Date' )
); //$columns = array(
return $columns;
} //function my_edit_projekte_columns( $columns ) {
/******************* Custom Columns fuellen ****************/
add_action( 'manage_projekte_posts_custom_column', 'my_manage_projekte_columns', 10, 2 );
function my_manage_projekte_columns( $column, $post_id ) {
global $post;
switch( $column ) {
/* If displaying the 'kategorie' column. */
case 'Kategorien' :
$kats = get_the_terms(0, "Kategorien");
$kats_html = array();
if(is_array($kats)) {
foreach ($kats as $kat)
array_push($kats_html, $kat->name);
//array_push($kats_html, '<a href="' . get_term_link($kat->slug, 'Kategorien') . '">' . $kat->name . '</a>');
echo implode($kats_html, ", ");
}
break;
/* If displaying the 'Beitragsbild' column. */
case 'beitragsbild' :
$post_thumbnail_id = get_post_thumbnail_id($post_id);
if ($post_thumbnail_id) {
$post_thumbnail_img = wp_get_attachment_image_src( $post_thumbnail_id, 'thumbnail' );
echo '<img width="180" src="' . $post_thumbnail_img[0] . '" />';
}
}
}
/********************** nach Taxonomie filtern ***********************/
function cpt_add_taxonomy_filters() {
global $typenow;
// an array of all the taxonomyies you want to display. Use the taxonomy name or slug
$taxonomies = array('Kategorien');
// must set this to the post type you want the filter(s) displayed on
if( $typenow == 'projekte' ){
foreach ($taxonomies as $tax_slug) {
$current_tax_slug = isset( $_GET[$tax_slug] ) ? $_GET[$tax_slug] : false;
$tax_obj = get_taxonomy( $tax_slug );
$tax_name = $tax_obj->labels->name;
$terms = get_terms($tax_slug);
if(count($terms) > 0) {
echo "<select name='$tax_slug' id='$tax_slug' class='postform'>";
echo "<option value=''>Alle $tax_name</option>";
foreach ($terms as $term) {
echo '<option value='. $term->slug, $_GET[$tax_slug] == $term->slug ? ' selected="selected"' : '','>' . $term->name .' (' . $term->count .')</option>';
}
echo "</select>";
}
}
}
}
add_action( 'restrict_manage_posts', 'cpt_add_taxonomy_filters' );
Alles anzeigen