这是我在自定义帖子类型中用于下拉筛选的代码段:
<?php
function blog_restrict_manage_posts() {
global $typenow;
$taxonomy = \'blog\'; // Change this
if( $typenow != "page" && $typenow != "post" ){
$filters = array($taxonomy);
foreach ($filters as $tax_slug) {
$tax_obj = get_taxonomy($tax_slug);
$tax_name = $tax_obj->labels->name;
$terms = get_terms($tax_slug);
echo "<select name=\'$tax_slug\' id=\'$tax_slug\' class=\'postform\'>";
echo "<option value=\'\'>Wszystkie $tax_name</option>";
foreach ($terms as $term) {
$label = (isset($_GET[$tax_slug])) ? $_GET[$tax_slug] : \'\'; // Fix
echo \'<option value=\'. $term->slug, $label == $term->slug ? \' selected="selected"\' : \'\',\'>\' . $term->name .\' (\' . $term->count .\')</option>\';
}
echo "</select>";
}
}
}
add_action( \'restrict_manage_posts\', \'blog_restrict_manage_posts\' );
?>
但有一个小问题——我有两个自定义帖子:“x”和“y”。我有一个下拉菜单过滤器。但“x”的过滤器在自定义帖子“y”管理页面中可见,反之亦然。因此,每个下拉列表都可以在每个自定义帖子管理页面中看到。。。谢谢:)