// Añadir la opción de ordenar por vistas
function add_views_column_to_posts($columns) {
$columns['post_views'] = 'Vistas'; // Añadir columna de vistas
return $columns;
}
add_filter('manage_posts_columns', 'add_views_column_to_posts');// Mostrar las vistas en la columna
function show_post_views_in_column($column, $post_id) {
if ($column === 'post_views') {
$views = get_post_meta($post_id, 'post_views_count', true);
echo $views ? $views : '0'; // Mostrar número de vistas
}
}
add_action('manage_posts_custom_column', 'show_post_views_in_column', 10, 2);// Permitir ordenar por vistas
function sortable_views_column($columns) {
$columns['post_views'] = 'post_views_count'; // Hacer la columna de vistas ordenable
return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'sortable_views_column');// Modificar la consulta para ordenar por vistas
function order_posts_by_views($query) {
if (!is_admin()) return;$orderby = isset($_GET['orderby']) ? $_GET['orderby'] : '';if ($orderby == 'post_views_count') {
$query->set('meta_key', 'post_views_count'); // Ordenar por el contador de vistas
$query->set('orderby', 'meta_value_num');
}
}
add_action('pre_get_posts', 'order_posts_by_views');