• Здравствуйте, такая проблема, хочу сделать в админке и на сайте сортировку по доп полю «wpcf-sort_field_catalog», цель такова, получить все посты и отсортировать по «wpcf-sort_field_catalog», не у всех постов задано «wpcf-sort_field_catalog» то есть пусто в некоторых постах, такие поста должны быть в конце.

    Проблема в том , что код ниже, отображает и сортирует только те посты в которых есть «wpcf-sort_field_catalog»

    add_filter( 'manage_edit-product_sortable_columns', 'true_sort_menu_order' ); // manage_edit-{тип поста}_sortable_columns
    add_action( 'pre_get_posts', 'true_orderby_menu_order' );
     
    function true_sort_menu_order( $columns ) {
        $columns['sort_user'] = 'sort_user'; //  $columns['ID колонки'] = 'Значение параметра orderby'
        //Кстати, здесь вы также можете сделать любую колонку несортируемой, просто удалите её из массива
        //unset($columns['date']);
     
        return $columns;
    }
     
    function true_orderby_menu_order( $query ) {
      
    	// так как сортировка будет осуществляться только в админке
    	if( ! is_admin() )
    		return;
     
    	$orderby = $query->get('orderby');
    
    	if( 'sort_user' == $orderby ) { // 'views' - параметр в GET-запросе
    		$query->set('post_type', 'product');
    		$query->set('meta_key', 'wpcf-sort_field_catalog');
    		$query->set('orderby', 'meta_value_num');
    
    	}
    }
  • Тема «Сортировка» закрыта для новых ответов.