Ordenar columnas personalizadas sin plugins

En este articulo vamos aprender a ordenar columnas personalizadas sin plugins en WordPress. Con este pequeño código conseguirás ordenar la nueva columna que has incluido en la tabla de entradas de WordPress.

Resultado

En la siguiente imagen puedes ver el resultado de habilitar el orden en una columna personalizada en la tabla de entradas de WordPress.

¿Cómo hacerlo?

Sigue estos pasos para habilitar el orden en tu columna personalizada. Este ejemplo se basa en otro articulo que escribí creando una columna personalizada para mostrar el numero de visitas sin plugin. Añade el siguiente código al final de tu fichero functions.php. Recuerda que puedes editar este fichero desde el menú de la izquierda Apariencia > Editor de archivos de temas

Paso 1

Habilita la posibilidad de que tu columna personalizada sea ordenable. Recuerda cambiar post_views por el nombre de tu columna personalizada.

add_filter( 'manage_edit-post_sortable_columns', 'migueltroyano_orden' );
function migueltroyano_orden( $columns ) {
    $columns['post_views'] = 'post_views';
    return $columns;
}

Paso 2

Ahora añade este otro código para que funcione la ordenación. Recuerda sustituir post_views por el nombre de tu columna y post_views_count por la clave (key)

add_filter( 'request', 'migueltroyano_ordenar_columna' );
function migueltroyano_ordenar_columna( $vars ) {
    if ( isset( $vars['orderby'] ) && 'post_views' === $vars['orderby'] ) {
        $vars = array_merge( $vars,
            array(
                'meta_key' => 'post_views_count',
                'orderby'  => 'meta_value_num',
            )
        );
    }
    return $vars;
}

Escribir un comentario