wordpress - make custom field values clickable to

2019-01-08 03:04发布

问题:

I want to add a custom column to my the all posts page of admin panel in wordpress. The scenario is - every post has a featured image. When I look at the all posts page in admin panel, then I have a custom column namely '*' and it has the value * in every row. I want to click the column value for a particular row to make it selected and have a different look (i.e. bold font). Then in the homepage I'll try to retrieve the featured image of those posts for which the custom column value has been selected by clicking on it.

I followed this tutorial and added the following code in the theme'sfunctions.php file:

// GET FEATURED IMAGE
function ST4_get_featured_image($post_ID) {
    $post_thumbnail_id = get_post_thumbnail_id($post_ID);
    if ($post_thumbnail_id) {
        $post_thumbnail_img = wp_get_attachment_image_src($post_thumbnail_id, 'featured_preview');
        return $post_thumbnail_img[0];
    }
}

// ADD NEW COLUMN
function ST4_columns_head($defaults) {
    $defaults['featured_image'] = '*';
    return $defaults;
}

// SHOW THE FEATURED IMAGE
function ST4_columns_content($column_name, $post_ID) {
    if ($column_name == 'featured_image') {
        $post_featured_image = ST4_get_featured_image($post_ID);
        if ($post_featured_image) {
            echo '*';
        }
    }
}

add_filter('manage_posts_columns', 'ST4_columns_head');
add_action('manage_posts_custom_column', 'ST4_columns_content', 10, 2);

Consequently I get a column namely '* ' with the values being '*' too. But I cannot make the column values to be clickable as I said earlier. How can I achieve that ?