Многие разработчики используют Автомобили, Продукты, Свойства и другие в качестве произвольных типов записей, по-умолчанию сортируемых по дате публикации (что на самом деле очень странно). Действительно простой сниппет ниже демонстрирует, как можно добавить сортируемую числовую колонку (например, колонка с ценой) в режим просмотра произвольных типов записей. Он очень полезен, ибо произвольные типы записей становятся все популярнее день ото дня.
// 1. Регистрируем колонку add_filter( 'manage_edit-post_columns', 'price_column_register' ); function price_column_register( $columns ) { $columns['price'] = __( 'Price', 'theme' ); return $columns; } // 2. Выводим содержимое колонки add_action( 'manage_posts_custom_column', 'price_column_display', 10, 2 ); function price_column_display( $column_name, $post_id ) { if ( 'price' != $column_name ) return; $price = get_post_meta($post_id, 'price', true); if ( !$price ) $price = '<em>' . __( 'undefined', 'theme' ) . '</em>'; echo $price; } // 3. Регистрируем колонку как сортируемую add_filter( 'manage_edit-post_sortable_columns', 'price_column_register_sortable' ); function price_column_register_sortable( $columns ) { $columns['price'] = 'price'; return $columns; } // 4. здесь вся основа сортировки add_filter( 'request', 'price_column_orderby' ); function price_column_orderby( $vars ) { if ( isset( $vars['orderby'] ) && 'price' == $vars['orderby'] ) { $vars = array_merge( $vars, array( 'meta_key' => 'price', 'orderby' => 'meta_value_num', 'order' => 'asc' ) ); } return $vars; }
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.