Bejegyzések rendezése egyedi oszlop értéke alapján előnézeti képe

Bejegyzések rendezése egyedi oszlop értéke alapján

| Olvasási idő: 1 perc

Egyedi értéket megjelenítő oszlopot már tudunk hozzáadni a WordPress admin felületéhez, az ezek értékei alapján való rendezés azonban még nem működik. Ebben a bejegyzésben erre mutatok egy megoldást. 

Vegyük elő az előző bejegyzésben létrehozott fájlunkat, és bővítsük ki a következő sorokkal, ami a post bejegyzéstípusok rendezhető oszlopai közé felveszi a featured_image nevű oszlopunkat: 

php
function sort_by_featured_image_column( $columns ) {
    $columns['featured_image'] = 'featured_image';

    return $columns;
}
add_filter( 'manage_edit-post_sortable_columns', 'sort_by_featured_image_column');

Ekkor a teljes snippet valahogyan így fog kinézni: 

php
<?php
/*
Plugin Name: Custom columns in WP admin
Plugin URI: https://www.webmenedzser.hu
Description: This plugin will add custom columns to the "Posts" view
Version: 1.0
Author: Radics Ottó
Author URI: https://www.webmenedzser.hu
License: GPLv3
*/

function add_featured_image_column_for_posts( $columns ) {
    $columns['featured_image'] = __( 'Featured image' );

    return $columns;
}
add_filter( 'manage_posts_columns', 'add_featured_image_column_for_posts' );

function fill_featured_image_column_for_posts( $column, $post_id ) {
    if ( $column === 'featured_image' ) {
        echo get_the_post_thumbnail( $post_id, [38, 38] );
    }
}
add_action( 'manage_posts_custom_column', 'fill_featured_image_column_for_posts', 10, 2);

function sort_by_featured_image_column( $columns ) {
    $columns['featured_image'] = 'featured_image';

    return $columns;
}
add_filter( 'manage_edit-post_sortable_columns', 'sort_by_featured_image_column');

Mentés és frissítés után már látni is fogjuk, hogy az oszlop a szokásos fekete szövegszínről kékre és kattinthatóra váltott. Több dolgunk nincs is, kattintást követően a WordPress automatikusan ABC szerint rendezi sorrendbe a bejegyzéseinket. 

(Ha esetleg nem látszanának a custom fieldek a Gutenberg szerkesztőben, akkor ezen komment alapján elővarázsolhatjátok őket.)