Add quicklink to in the Admin posts page where I can query by a meta_key

The Setup

I was able to reproduce the issue after creating a post type named ground_catalog with support for custom fields, then creating some test posts. I added the custom field is-active (using standard WordPress functionality) and entered the value true for some posts.

The Fix

I was able to get the filter working by changing the arguments to WP_Query:

$result = new WP_Query( [
    'post_type'  => $post_type,
    'orderby'    => 'date',
    'order'      => 'DESC',
    'meta_key'   => 'is-active',
    'meta_value' => 'true', // Note that this is a STRING
] );

Full Example

Here is the full working code example, which contains some refactoring for readability as well as a fix for styling the current filter item and other minor changes:

add_filter( 'views_edit-ground_catalog', 'wpse246143_add_admin_quick_link' );
function wpse246143_add_admin_quick_link( $views ) {
    $post_type="ground_catalog";

    // Bail immediately if we're not looking at the right post type.
    if ( ! isset( $_GET['post_type'] ) || $post_type !== $_GET['post_type'] ) {
        return $views;
    }

    // Handle the class applied to the link filter.
    $link_class = false;
    if ( isset( $_GET['active'] ) && 'true' === $_GET['active'] ) {
        $link_class="current";
    }

    // Set up a query to determine how many posts are set up as is-active == true
    $result = new WP_Query( [
        'post_type'  => $post_type,
        'orderby'    => 'date',
        'order'      => 'DESC',
        'meta_key'   => 'is-active',
        'meta_value' => 'true',
    ] );

    // Generate the link for our filter. 
    // post_status=publish was removed to prevent a styling conflict with the existing 'Published' filter.
    $views['ground_catalog_active'] = sprintf( '<a href="https://wordpress.stackexchange.com/questions/246143/%s" class="https://wordpress.stackexchange.com/questions/246143/%s">%s<span class="count">(%d)</span></a>',
            admin_url( "edit.php?post_type={$post_type}&active=true" ),
            $link_class,
            __( 'Attivi', 'text-domain' ),
            $result->found_posts
    );

    return $views;
}

add_action( 'init', 'wpse246143_register_active' );
function wpse246143_register_active() {
    global $wp;
    $wp->add_query_var( 'active' );
}

add_action( 'parse_query', 'wpse246143_map_active' );
function wpse246143_map_active( $wp_query ) {
    $meta_value = $wp_query->get( 'active' );

    if ( true == $meta_value ) {
        $wp_query->set( 'meta_key', 'is-active' );
        $wp_query->set( 'meta_value', $meta_value );
    }
}

Post type registration and custom columns

For the sake of completeness and troubleshooting, here is the code that registers the ground_catalog post type as well as the addition and display of the is-active meta column.

// Register ground_catalog post type
add_action( 'init', 'wpse246143_register_ground_catalog' );
function wpse246143_register_ground_catalog() {
    $labels = array(
        "name" => __( 'Ground Catalogs', 'your_text_domain' ),
        "singular_name" => __( 'Ground Catalog', 'your_text_domain' ),
        );

    $args = array(
        "label" => __( 'Ground Catalogs', 'your_text_domain' ),
        "labels" => $labels,
        "description" => "",
        "public" => true,
        "publicly_queryable" => true,
        "show_ui" => true,
        "show_in_rest" => false,
        "rest_base" => "",
        "has_archive" => true,
        "show_in_menu" => true,
        "exclude_from_search" => false,
        "capability_type" => "post",
        "map_meta_cap" => true,
        "hierarchical" => false,
        "rewrite" => array( "slug" => "ground_catalog", "with_front" => true ),
        "query_var" => true,

        "supports" => array( "title", "editor", "thumbnail", "custom-fields" ),                 );

    register_post_type( "ground_catalog", $args );
}

// Add custom column to ground_catalog post list
add_filter( 'manage_ground_catalog_posts_columns' , 'wpse246143_manage_ground_catalog_columns' );
function wpse246143_manage_ground_catalog_columns( $columns ) {
    return array_merge( $columns, 
        array( 'is-active' => __( 'Is Active', 'your_text_domain' ) ) );
}

// Display custom column values on ground_catalog post list
add_action( 'manage_ground_catalog_posts_custom_column' , 'wpse246143_ground_catalog_custom_column', 10, 2 );
function wpse246143_ground_catalog_custom_column( $column, $post_id ) {
    switch ( $column ) {
        case 'is-active':
            $active = get_post_meta( $post_id, 'is-active', true );
            echo '<strong>is-active: </strong>';
            var_dump( $active );
            break;
    }
}

Demos

I added some ground_post entries for troubleshooting and testing purposes. The custom columns show what has been entered for the is-active meta value. The only posts that will show up under the Active (Attivi) sort column are Ground with just dirt and Ground with leaves on it, because they are the only ones that have the is-active meta key set up with the value of true (string):

ground_post list

Sorting in action

enter image description here