我有一个自定义分类过滤器,它将过滤选定分类中的所有页面。我希望代码能够选择该分类法中的页面,以及千页的子页面。
这是密码。
add_action(\'restrict_manage_posts\', \'restrict_manage_posts_section\');
function restrict_manage_posts_section()
{
global $post_type;
if ( is_object_in_taxonomy( $post_type, \'section\' ) )
{
$dropdown_options = array(
\'show_option_all\' => __( \'View all sections\' ),
\'hide_empty\' => 0,
\'hierarchical\' => 1,
\'name\' => \'section\',
\'show_count\' => 0,
\'taxonomy\' => \'section\',
\'orderby\' => \'name\',
\'selected\' => $cat
);
add_filter(\'wp_dropdown_cats\', \'wp_dropdown_section_filter\', 10);
wp_dropdown_categories( $dropdown_options );
remove_filter(\'wp_dropdown_cats\', \'wp_dropdown_section_filter\', 10);
}
}
function wp_dropdown_section_filter($select)
{
$terms = get_terms(\'section\', array(\'hide_empty\' => false));
foreach( $terms as $term )
{
$select = str_replace(\'value="\'.$term->term_id.\'"\', \'value="\'.$term->slug.\'"\', $select);
if (isset($_GET[\'section\']) && $term->slug == $_GET[\'section\']){
$select = str_replace(\'value="\'.$term->slug.\'"\', \'value="\'.$term->slug.\'" selected\', $select);
}
}
return $select;
}
编辑
这是我的自定义帖子类型和分类功能
/* Register Custom Post Type and Taxonomy
---------------------------------------------------*/
add_action(\'init\', \'register_module_type\');
function register_module_type() {
$labels = array(
\'name\' => _x(\'Modules\', \'post type general name\'),
\'singular_name\' => _x(\'Modules\', \'post type singular name\'),
\'add_new\' => _x(\'Add Module\', \'module item\'),
\'add_new_item\' => __(\'Add Module\'),
\'edit_item\' => __(\'Edit Module\'),
\'new_item\' => __(\'New Module\'),
\'view_item\' => __(\'View Module\'),
\'search_items\' => __(\'Search Module\'),
\'not_found\' => __(\'Nothing found\'),
\'not_found_in_trash\' => __(\'Nothing found in Trash\'),
\'parent_item_colon\' => \'\'
);
$args = array(
\'labels\' => $labels,
\'public\' => true,
\'publicly_queryable\' => true,
\'show_ui\' => true,
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'module\', \'with_front\' => false ),
\'capability_type\' => \'post\',
\'hierarchical\' => true,
\'has_archive\' => true,
\'can_export\' => true,
\'menu_position\' => null,
\'supports\' => array(\'title\',\'editor\',\'thumbnail\',/*\'excerpt\',*/\'revisions\',\'custom-fields\',\'post-formats\'/*,\'page-attributes\'*/)
#\'taxonomies\' => array(\'category\', \'post_tag\')
);
register_post_type( \'module\' , $args );
#register_taxonomy_for_object_type(\'category\', \'testimonial\');
#register_taxonomy_for_object_type(\'post_tag\', \'testimonial\');
$labels = array(
\'name\' => _x( \'Sections\', \'taxonomy general name\' ),
\'singular_name\' => _x( \'Section\', \'taxonomy singular name\' ),
\'search_items\' => __( \'Search Sections\' ),
\'all_items\' => __( \'All Sections\' ),
\'parent_item\' => __( \'Parent Section\' ),
\'parent_item_colon\' => __( \'Parent Section:\' ),
\'edit_item\' => __( \'Edit Section\' ),
\'update_item\' => __( \'Update Section\' ),
\'add_new_item\' => __( \'Add New Section\' ),
\'new_item_name\' => __( \'New Section Name\' ),
);
register_taxonomy( \'section\', array( \'module\' ), array(
\'hierarchical\' => true,
\'labels\' => $labels,
\'show_ui\' => true,
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'section\' ),
));
#add_theme_support( \'post-formats\', array( \'chat\',\'aside\',\'gallery\',\'link\',\'image\',\'quote\',\'status\',\'video\' ));
flush_rewrite_rules( false );
}