カスタム分類についてedit-tags.php(カスタム分類管理ページ)にidまたはスラッグで用語のみを表示するにはどうすればよいですか。
用語ごとにterm_ownerメタデータをテーブルに保存し、特定のterm_ownerのすべての用語のIDを取得します。今私はこれらの用語だけをedit-tags.php
に表示したいと思います。
私はlist_terms_exclusions
フィルターを試しましたが、edit-tags.php?taxonomy={custom_taxonomy_name}
に対してはうまくいかないか、何かが足りないのです。
実例で私を手伝ってくれる人はいますか?
ありがとうございます。
edit-tags.php
は、s
検索クエリ変数以外の引数をリッスンしません。もっと高度なことをしたいのなら、get_terms
フィルタにフックする必要があります。
私は私のカスタム分類法「シリーズ」のために私のテーマfunction.phpにこれらのコードを追加しました。
add_filter('edited_terms', 'mysite_edited_terms');
function mysite_edited_terms($term_id) {
if($_POST['taxonomy'] == 'series'): {
$user = wp_get_current_user();
if ($user->ID) {
$terms = get_user_meta($user->ID,'users_terms_for_series');
$terms = (empty($terms) ? $term_id : "{$terms},{$term_id}");
update_user_meta($user->ID,'users_terms_for_series',$terms);
}
}
}
add_filter('list_terms_exclusions', 'my_list_terms_exclusions', 10, 2);
function my_list_terms_exclusions( $exclusions, $args ) {
global $pagenow;
if (current_user_can('can_manage_all_terms') &&
$pagenow=='edit-tags.php?taxonomy=series') {
$terms = get_user_meta($user->ID,'users_terms_for_series');
$exclusions = " {$exclusions} AND t.ID NOT IN ({$terms})";
}
return $exclusions;
}
しかし何も起こらなかった。このコードは@MikeSchinkelに基づいています。 @ Jan Fabryは、edit-tags.phpが引数を受け取らないことは正しいと思います。しかし、それをする方法はありません。
任意の助けは大歓迎です。ありがとう。