デフォルトでは、「すべての投稿」ページに次のフィルタが含まれています。
「タグで」追加することができる方法はありますか?
別のフィルタを追加するには、ユーザ'restrict_manage_posts'
filter。 functions.phpで次のコードを使用してください。
function kc_add_taxonomy_filters() {
global $typenow;
// an array of all the taxonomyies you want to display. Use the taxonomy name or slug
$my_taxonomies = array( 'post_tag' );
switch($typenow){
case 'post':
foreach ($my_taxonomies as $tax_slug) {
$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 alignleft actions'>";
echo "<option value=''>Show All $tax_name</option>";
foreach ($terms as $term) {
echo '<option value="', $term->slug,'" ',selected( @$_GET[$tax_slug] == $term->slug , $current = true, $echo = false ) , '>' , $term->name ,' (' , $term->count ,')</option>';
}
echo "</select>";
}
}
break;
}
}
add_action( 'restrict_manage_posts', 'kc_add_taxonomy_filters' );
このコミュニティからの助けが全くなくて、それがばかげている評判規則であるので、私はそれが正しく機能するように上記のコードを修正する方法を考え出しました。
次のコードはwp-includes/functions.phpに入る必要があります。 select名をtagにハードコードしたことに注目してください。これは、WP filterクエリ文字列が現在どのように機能するかのように思われます。
function kc_add_taxonomy_filters() {
global $typenow;
// an array of all the taxonomyies you want to display. Use the taxonomy name or slug
$my_taxonomies = array( 'post_tag' );
switch($typenow){
case 'post':
foreach ($my_taxonomies as $tax_slug) {
$tax_obj = get_taxonomy($tax_slug);
$tax_name = $tax_obj->labels->name;
$terms = get_terms($tax_slug);
if(count($terms) > 0) {
echo "<select name='tag' id='$tax_slug' class='postform alignleft actions'>";
echo "<option value=''>Show All $tax_name</option>";
foreach ($terms as $term) {
echo '<option value="', $term->slug,'" ',selected( @$_GET[$tax_slug] == $term->slug , $current = true, $echo = false ) , '>' , $term->name ,' (' , $term->count ,')</option>';
}
echo "</select>";
}
}
break;
}
}
それからアクションはあなたのテーマのfunctions.phpファイル(wp-content/themes/YOURTHEME/functions.php)に入る必要があります。
add_action( 'restrict_manage_posts', 'kc_add_taxonomy_filters' );