前提・実現したいこと
カテゴリーの管理画面にAdvanced Custom Fieldsで「cat_number」の列を追加し、その値でソートができるようにしたいです。
現在のソースですと、表示はでき、クリックはできるのですが、ソートが数字順になりません。
修正すべき点を教えていただきたいです。
Advanced Custom Fieldsをカテゴリで使用した場合、idを指定しないといけないと思うのですが、それをmeta_keyで指定する方法がわかりません。
該当のソースコード
php
1function add_category_columns($columns) { 2$index = 1; 3return array_merge( 4array_slice($columns, 0, $index), 5array('cat_number' => '表示順'), 6array_slice($columns, $index) 7); 8} 9add_filter('manage_edit-category_columns', 10'add_category_columns'); 11 12function add_category_custom_fields($d, $column_name, $term_id) { 13if ($column_name == 'cat_number') { 14echo get_field("cat_number", "category_".$term_id); 15} 16} 17add_action('manage_category_custom_column', 18'add_category_custom_fields', 10, 3); 19 20function custom_orderby_columns($vars) { 21 if (isset($vars['orderby']) && 'cat_number' == $vars['orderby']) { 22 $vars = array_merge($vars, array( 23 'meta_key' => 'cat_number', 24 'orderby' => 'meta_value_num', 25 )); 26 } 27 return $vars; 28} 29function custom_sortable_columns($columuns) { 30 $columns['cat_number'] = 'cat_number'; 31 return $columns; 32} 33add_filter('request', 'custom_orderby_columns'); 34add_filter('manage_edit-category_sortable_columns', 'custom_sortable_columns'); 35
回答1件
あなたの回答
tips
プレビュー