Создать акаунт
Всё для вебмастера » Вопросы и ответы » CMS » WordPress » Сортировка для доп поля в админ панели WP?

Сортировка для доп поля в админ панели WP?

03 фев 2023, 07:27
WordPress
113
0
Есть плагин который добавляет поле в админ панели (количество символов), но как сделать его сортируемым? чтоб можно было от большего к меньшему сортировать.
defined( 'ABSPATH' ) or die( "No script kiddies please!" );if ( ! class_exists( 'Posts_Character_Count_Admin' ) ) {load_plugin_textdomain('posts-character-count-admin',false,dirname( plugin_basename( __FILE__ ) ) . '/languages/');require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'inc/class-posts-character-count.php';require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'inc/class-posts-character-count-admin.php';add_action( 'plugins_loaded', array( 'Posts_Character_Count_Admin', 'init' ) );}


class-posts-character-count.php'

<?phpclass Posts_Character_Count_Admin {public static function init() {$plugin = new self();add_action( 'admin_init', array( $plugin, 'admin_init' ) );}public function admin_init() {// Only run our customization on the 'edit.php' page in the adminadd_action( 'load-edit.php', array( $this, 'admin_edit_screens' ) );}// Add the sortable character count column to all manage posts screens including pagespublic function admin_edit_screens() {// Add the character count column to all manage posts screens except pagesadd_filter( 'manage_posts_columns', array( $this, 'admin_edit_columns' ) );add_action( 'manage_posts_custom_column', array( $this, 'admin_edit_column_values' ), 10, 2 );// Add the character count column to the manage pages screenadd_filter( 'manage_pages_columns', array( $this, 'admin_edit_columns' ) );add_action( 'manage_pages_custom_column', array( $this, 'admin_edit_column_values' ), 10, 2 );}/* Methods and Filters for the column in the Manage Posts/Pages SubPanel */public function admin_edit_columns( $columns ) {$columns['count'] = __( 'Количество символов', 'posts-character-count-admin' );return $columns;}public function admin_edit_column_values( $column, $post_id ) {global $post;if ( 'count' == $column ) {$stat = new Posts_Character_Count( $post->post_content );echo $stat->count_characters() . ' ' . __( ' символов', 'posts-character-count-admin' );}}} // End class



class-posts-character-count-admin.php

<?phpclass Posts_Character_Count {var $text;var $characters = 0;public function __construct( $text = null ) {if ( $text ) {$this->set( $text );}}public function set( $text ) {$this->text       = strip_tags( $text );$this->characters = - 1;}public function get() {return $this->text;}public function count_characters() {if ( $this->characters != - 1 ) {return $this->characters;}$this->characters = strlen( utf8_decode( $this->text ) );return $this->characters;}} // End class



Получается добавляю
add_filter('manage_edit-post_sortable_columns', 'add_views_sortable_column');function add_views_sortable_column($sortable_columns){$sortable_columns['count'] = 'counts_views';return $sortable_columns;}// изменяем запрос при сортировке колонкиadd_filter('pre_get_posts', 'add_column_views_request');function add_column_views_request( $object ){if( $object->get('orderby') != 'counts_views' )return;$object->set('meta_key', 'count');$object->set('orderby', 'meta_value_num');}


Но сортировка не работает

Внимание! Сортировка для доп поля в админ панели WP? предоставлен пользователями сайта исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Смотрите также:

Комментарии к Сортировка для доп поля в админ панели WP?
Добавить Комментарий
В комментариях запрещаются спам, а также реклама любых товаров и услуг, иных ресурсов.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.