Created
September 14, 2021 08:40
-
-
Save MrJoshFisher/02e8d82b59f3c053cde8eb6690be72ad to your computer and use it in GitHub Desktop.
[Add Taxonomy Filter To Custom Post Type] #wordpress #php
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
add_action('restrict_manage_posts', 'tsm_filter_post_type_by_taxonomy'); | |
function tsm_filter_post_type_by_taxonomy() { | |
global $typenow; | |
$post_type = 'property'; // change to your post type | |
$taxonomy = 'section'; // change to your taxonomy | |
if ($typenow == $post_type) { | |
$selected = isset($_GET[$taxonomy]) ? $_GET[$taxonomy] : ''; | |
$info_taxonomy = get_taxonomy($taxonomy); | |
wp_dropdown_categories(array( | |
'show_option_all' => sprintf( __( 'Show all %s', 'textdomain' ), $info_taxonomy->label ), | |
'taxonomy' => $taxonomy, | |
'name' => $taxonomy, | |
'orderby' => 'name', | |
'selected' => $selected, | |
'show_count' => true, | |
'hide_empty' => true, | |
)); | |
}; | |
} | |
/** | |
* Filter posts by taxonomy in admin | |
* @author Mike Hemberger | |
* @link http://thestizmedia.com/custom-post-type-filter-admin-custom-taxonomy/ | |
*/ | |
add_filter('parse_query', 'tsm_convert_id_to_term_in_query'); | |
function tsm_convert_id_to_term_in_query($query) { | |
global $pagenow; | |
$post_type = 'property'; // change to your post type | |
$taxonomy = 'section'; // change to your taxonomy | |
$q_vars = &$query->query_vars; | |
if ( $pagenow == 'edit.php' && isset($q_vars['post_type']) && $q_vars['post_type'] == $post_type && isset($q_vars[$taxonomy]) && is_numeric($q_vars[$taxonomy]) && $q_vars[$taxonomy] != 0 ) { | |
$term = get_term_by('id', $q_vars[$taxonomy], $taxonomy); | |
$q_vars[$taxonomy] = $term->slug; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment