私は、添付ファイル用に「attach_cats」というカスタムタクソノミーを作成しました。タクソノミーの各用語には、term_orderのキーと整数のメタ値を持つカスタム用語メタデータがあります。私は、 "term_order"の値を表示する "edit-tag.php"ページにカスタム列を追加しました。カスタムメタデータによるカスタム分類の並べ替え(pre_get_terms)
ここで、用語を 'orderby'に 'term_order'の値を注文したいと思います。私が代わりに「pre_get_terms」を使用して「投稿」の「用語」でそれを実行しようとするとき、
add_action('pre_get_posts', 'sort_by_meta_key');
function sort_by_meta_key($query){
global $pagenow;
if(is_admin()
&& 'edit.php' == $pagenow
&& isset($_GET['post_type']) && $_GET['post_type']=='gallery'){
$query->set('meta_key', 'gallery_pos');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'ASC');
}
}
しかし:私は、次の機能を持つ「?个人设定post_type =ページ」で、このすべての時間を行いますそれは動作しません。ここに私が持っているものがあります:
add_action('pre_get_terms', 'term_sort_order');
function term_sort_order($query){
global $pagenow;
if(is_admin()
&& 'edit-tags.php' == $pagenow
&& isset($_GET['post_type']) && $_GET['post_type']=='attachment'){
$query->set('meta_key', 'term_order');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'ASC');
}
}
// THIS RETURNS: Fatal error: Call to undefined method WP_Term_Query::set() ......
私は助けていただければ幸いです。
pre_get_termsのアクションがあり、コールバック関数ではこれを試してみる必要があります。私のために働いた。ソリューションは、このリンクのコメントに来ました:https://core.trac.wordpress.org/ticket/34996 eherman24のコメント –
返事をありがとう、6ヶ月されているが、私はやっていないそれ以来そのプロジェクトの他のもの(それは私が構築していた個人的なプラグインでした)....私は明日にそれに戻り、これを試してみます...ありがとう。 – Jeremy