Adding Featured Image in Post Listfilter the_content, custom post type, and wp_querywordpress content .php file in an iframe's src in a wordpress postAdding custom image sizes and post types to a plugin or to a theme?How to List Custom Post Type Titles Based on Theirs Taxonomy Terms Inside a Nested LoopHow do I convince this button to do something when it is clicked?Preview featured image using frontend post pluginmanage_posts_custom_column, showing serial number using increment in loopCustom Pin it button is not showing over the image instead it shows as block top_leftcustom post type not showing in menuLooping through image object using ACF and CPT UI [SOLVED]
Writing in a Christian voice
A Ri-diddley-iley Riddle
How could an airship be repaired midflight?
Variable completely messes up echoed string
Help rendering a complicated sum/product formula
What are substitutions for coconut in curry?
Error message "Cannot index array with string 'Title'" when parsing JSON data with jq
In what cases must I use 了 and in what cases not?
Asserting that Atheism and Theism are both faith based positions
What does "^L" mean in C?
usage and meaning of Up
Is honey really a supersaturated solution? Does heating to un-crystalize redissolve it or melt it?
Suggestions on how to spend Shaabath (constructively) alone
Adding Featured Image in Post List
Naive Monte Carlo, MCMC and their use in Bayesian Theory
Probably overheated black color SMD pads
Comment Box for Substitution Method of Integrals
Tikz: place node leftmost of two nodes of different widths
Do US professors/group leaders only get a salary, but no group budget?
How can my new character not be a role-playing handicap to the party?
Do native speakers use "ultima" and "proxima" frequently in spoken English?
HP P840 HDD RAID 5 many strange drive failures
How to terminate ping <dest> &
Bash - pair each line of file
Adding Featured Image in Post List
filter the_content, custom post type, and wp_querywordpress content .php file in an iframe's src in a wordpress postAdding custom image sizes and post types to a plugin or to a theme?How to List Custom Post Type Titles Based on Theirs Taxonomy Terms Inside a Nested LoopHow do I convince this button to do something when it is clicked?Preview featured image using frontend post pluginmanage_posts_custom_column, showing serial number using increment in loopCustom Pin it button is not showing over the image instead it shows as block top_leftcustom post type not showing in menuLooping through image object using ACF and CPT UI [SOLVED]
Adding Featured Image after getting inside of the post is not that hard. But some people want it to do that outside the loop. So is there a way to add a button on post columns to add a featured image in the post list without going inside the post and doing it like the old ways?? It's a simple thing but it may be hard to code. Maybe with AJAX, it can be done.
plugins plugin-development
add a comment |
Adding Featured Image after getting inside of the post is not that hard. But some people want it to do that outside the loop. So is there a way to add a button on post columns to add a featured image in the post list without going inside the post and doing it like the old ways?? It's a simple thing but it may be hard to code. Maybe with AJAX, it can be done.
plugins plugin-development
add a comment |
Adding Featured Image after getting inside of the post is not that hard. But some people want it to do that outside the loop. So is there a way to add a button on post columns to add a featured image in the post list without going inside the post and doing it like the old ways?? It's a simple thing but it may be hard to code. Maybe with AJAX, it can be done.
plugins plugin-development
Adding Featured Image after getting inside of the post is not that hard. But some people want it to do that outside the loop. So is there a way to add a button on post columns to add a featured image in the post list without going inside the post and doing it like the old ways?? It's a simple thing but it may be hard to code. Maybe with AJAX, it can be done.
plugins plugin-development
plugins plugin-development
asked 7 hours ago
Ayush O' LeeAyush O' Lee
113
113
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I've used the plugin Admin Columns Pro for this — in addition to many useful & time-saving features, it allows you to add a column to the Posts list (or any post type list) showing the featured image. If you set it up to allow inline editing for that column, you can add the featured image directly from the list view. It's saved me loads of time, and clients find it easy to use too.

New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Yes, it can be done very easily. There is a great tutorial by Misha Rudrastyh on how to add Featured Images to Quick Edit. I recently applied it and can confirm that it works. You will be able to see the featured images in the admin area post lists and easily change them using Quick Edit. It is a very good alternative to using a plugin.
Copy and paste the following to your functions.php file:
/*
*
* Add Featured Image Column to Admin Area and Quick Edit menu
* Source: https://rudrastyh.com/wordpress/quick-edit-featured-image.html
*
*/
/*
* This action hook allows to add a new empty column
*/
add_filter('manage_post_posts_columns', 'misha_featured_image_column');
function misha_featured_image_column( $column_array )
// I want to add my column at the beginning, so I use array_slice()
// in other cases $column_array['featured_image'] = 'Featured Image' will be enough
$column_array = array_slice( $column_array, 0, 1, true )
+ array('featured_image' => 'Featured Image') // our new column for featured images
+ array_slice( $column_array, 1, NULL, true );
return $column_array;
/*
* This hook will fill our column with data
*/
add_action('manage_posts_custom_column', 'misha_render_the_column', 10, 2);
function misha_render_the_column( $column_name, $post_id )
if( $column_name == 'featured_image' )
// if there is no featured image for this post, print the placeholder
if( has_post_thumbnail( $post_id ) )
// I know about get_the_post_thumbnail() function but we need data-id attribute here
$thumb_id = get_post_thumbnail_id( $post_id );
echo '<img data-id="' . $thumb_id . '" src="' . wp_get_attachment_url( $thumb_id ) . '" />';
else
// data-id should be "-1" I will explain below
echo '<img data-id="-1" src="' . get_stylesheet_directory_uri() . '/placeholder.png" />';
add_action( 'admin_head', 'misha_custom_css' );
function misha_custom_css()
echo '<style>
#featured_image
width:120px;
td.featured_image.column-featured_image img
max-width: 100%;
height: auto;
/* some styles to make Quick Edit meny beautiful */
#misha_featured_image .titlemargin-top:10px;display:block;
#misha_featured_image a.misha_upload_featured_image
display:inline-block;
margin:10px 0 0;
#misha_featured_image img
display:block;
max-width:200px !important;
height:auto;
#misha_featured_image .misha_remove_featured_image
display:none;
</style>';
add_action( 'admin_enqueue_scripts', 'misha_include_myuploadscript' );
function misha_include_myuploadscript()
if ( ! did_action( 'wp_enqueue_media' ) )
wp_enqueue_media();
add_action('quick_edit_custom_box', 'misha_add_featured_image_quick_edit', 10, 2);
function misha_add_featured_image_quick_edit( $column_name, $post_type )
// add it only if we have featured image column
if ($column_name != 'featured_image') return;
// we add #misha_featured_image to use it in JavaScript in CSS
echo '<fieldset id="misha_featured_image" class="inline-edit-col-left">
<div class="inline-edit-col">
<span class="title">Featured Image</span>
<div>
<a href="#" class="misha_upload_featured_image">Set featured image</a>
<input type="hidden" name="_thumbnail_id" value="" />
<a href="#" class="misha_remove_featured_image">Remove Featured Image</a>
</div>
</div></fieldset>';
// please look at _thumbnail_id as a name attribute - I use it to skip save_post action
add_action('admin_footer', 'misha_quick_edit_js_update');
function misha_quick_edit_js_update() ($current_screen->post_type != 'post'))
return;
?><script>
jQuery(function($)
$('body').on('click', '.misha_upload_featured_image', function(e)
e.preventDefault();
var button = $(this),
custom_uploader = wp.media(
title: 'Set featured image',
library : type : 'image' ,
button: text: 'Set featured image' ,
).on('select', function()
var attachment = custom_uploader.state().get('selection').first().toJSON();
$(button).html('<img src="' + attachment.url + '" />').next().val(attachment.id).parent().next().show();
).open();
);
$('body').on('click', '.misha_remove_featured_image', function()
$(this).hide().prev().val('-1').prev().html('Set featured Image');
return false;
);
var $wp_inline_edit = inlineEditPost.edit;
inlineEditPost.edit = function( id )
$wp_inline_edit.apply( this, arguments );
var $post_id = 0;
if ( typeof( id ) == 'object' )
$post_id = parseInt( this.getId( id ) );
if ( $post_id > 0 )
var $edit_row = $( '#edit-' + $post_id ),
$post_row = $( '#post-' + $post_id ),
$featured_image = $( '.column-featured_image', $post_row ).html(),
$featured_image_id = $( '.column-featured_image', $post_row ).find('img').attr('data-id');
if( $featured_image_id != -1 )
$( ':input[name="_thumbnail_id"]', $edit_row ).val( $featured_image_id ); // ID
$( '.misha_upload_featured_image', $edit_row ).html( $featured_image ); // image HTML
$( '.misha_remove_featured_image', $edit_row ).show(); // the remove link
);
</script>
<?php
If you want more details on how this works and what each part of code does, refer to the tutorial by Misha Rudrastyh.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "110"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f331865%2fadding-featured-image-in-post-list%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I've used the plugin Admin Columns Pro for this — in addition to many useful & time-saving features, it allows you to add a column to the Posts list (or any post type list) showing the featured image. If you set it up to allow inline editing for that column, you can add the featured image directly from the list view. It's saved me loads of time, and clients find it easy to use too.

New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I've used the plugin Admin Columns Pro for this — in addition to many useful & time-saving features, it allows you to add a column to the Posts list (or any post type list) showing the featured image. If you set it up to allow inline editing for that column, you can add the featured image directly from the list view. It's saved me loads of time, and clients find it easy to use too.

New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I've used the plugin Admin Columns Pro for this — in addition to many useful & time-saving features, it allows you to add a column to the Posts list (or any post type list) showing the featured image. If you set it up to allow inline editing for that column, you can add the featured image directly from the list view. It's saved me loads of time, and clients find it easy to use too.

New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I've used the plugin Admin Columns Pro for this — in addition to many useful & time-saving features, it allows you to add a column to the Posts list (or any post type list) showing the featured image. If you set it up to allow inline editing for that column, you can add the featured image directly from the list view. It's saved me loads of time, and clients find it easy to use too.

New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered 6 hours ago
ChristinaChristina
113
113
New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Christina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
Yes, it can be done very easily. There is a great tutorial by Misha Rudrastyh on how to add Featured Images to Quick Edit. I recently applied it and can confirm that it works. You will be able to see the featured images in the admin area post lists and easily change them using Quick Edit. It is a very good alternative to using a plugin.
Copy and paste the following to your functions.php file:
/*
*
* Add Featured Image Column to Admin Area and Quick Edit menu
* Source: https://rudrastyh.com/wordpress/quick-edit-featured-image.html
*
*/
/*
* This action hook allows to add a new empty column
*/
add_filter('manage_post_posts_columns', 'misha_featured_image_column');
function misha_featured_image_column( $column_array )
// I want to add my column at the beginning, so I use array_slice()
// in other cases $column_array['featured_image'] = 'Featured Image' will be enough
$column_array = array_slice( $column_array, 0, 1, true )
+ array('featured_image' => 'Featured Image') // our new column for featured images
+ array_slice( $column_array, 1, NULL, true );
return $column_array;
/*
* This hook will fill our column with data
*/
add_action('manage_posts_custom_column', 'misha_render_the_column', 10, 2);
function misha_render_the_column( $column_name, $post_id )
if( $column_name == 'featured_image' )
// if there is no featured image for this post, print the placeholder
if( has_post_thumbnail( $post_id ) )
// I know about get_the_post_thumbnail() function but we need data-id attribute here
$thumb_id = get_post_thumbnail_id( $post_id );
echo '<img data-id="' . $thumb_id . '" src="' . wp_get_attachment_url( $thumb_id ) . '" />';
else
// data-id should be "-1" I will explain below
echo '<img data-id="-1" src="' . get_stylesheet_directory_uri() . '/placeholder.png" />';
add_action( 'admin_head', 'misha_custom_css' );
function misha_custom_css()
echo '<style>
#featured_image
width:120px;
td.featured_image.column-featured_image img
max-width: 100%;
height: auto;
/* some styles to make Quick Edit meny beautiful */
#misha_featured_image .titlemargin-top:10px;display:block;
#misha_featured_image a.misha_upload_featured_image
display:inline-block;
margin:10px 0 0;
#misha_featured_image img
display:block;
max-width:200px !important;
height:auto;
#misha_featured_image .misha_remove_featured_image
display:none;
</style>';
add_action( 'admin_enqueue_scripts', 'misha_include_myuploadscript' );
function misha_include_myuploadscript()
if ( ! did_action( 'wp_enqueue_media' ) )
wp_enqueue_media();
add_action('quick_edit_custom_box', 'misha_add_featured_image_quick_edit', 10, 2);
function misha_add_featured_image_quick_edit( $column_name, $post_type )
// add it only if we have featured image column
if ($column_name != 'featured_image') return;
// we add #misha_featured_image to use it in JavaScript in CSS
echo '<fieldset id="misha_featured_image" class="inline-edit-col-left">
<div class="inline-edit-col">
<span class="title">Featured Image</span>
<div>
<a href="#" class="misha_upload_featured_image">Set featured image</a>
<input type="hidden" name="_thumbnail_id" value="" />
<a href="#" class="misha_remove_featured_image">Remove Featured Image</a>
</div>
</div></fieldset>';
// please look at _thumbnail_id as a name attribute - I use it to skip save_post action
add_action('admin_footer', 'misha_quick_edit_js_update');
function misha_quick_edit_js_update() ($current_screen->post_type != 'post'))
return;
?><script>
jQuery(function($)
$('body').on('click', '.misha_upload_featured_image', function(e)
e.preventDefault();
var button = $(this),
custom_uploader = wp.media(
title: 'Set featured image',
library : type : 'image' ,
button: text: 'Set featured image' ,
).on('select', function()
var attachment = custom_uploader.state().get('selection').first().toJSON();
$(button).html('<img src="' + attachment.url + '" />').next().val(attachment.id).parent().next().show();
).open();
);
$('body').on('click', '.misha_remove_featured_image', function()
$(this).hide().prev().val('-1').prev().html('Set featured Image');
return false;
);
var $wp_inline_edit = inlineEditPost.edit;
inlineEditPost.edit = function( id )
$wp_inline_edit.apply( this, arguments );
var $post_id = 0;
if ( typeof( id ) == 'object' )
$post_id = parseInt( this.getId( id ) );
if ( $post_id > 0 )
var $edit_row = $( '#edit-' + $post_id ),
$post_row = $( '#post-' + $post_id ),
$featured_image = $( '.column-featured_image', $post_row ).html(),
$featured_image_id = $( '.column-featured_image', $post_row ).find('img').attr('data-id');
if( $featured_image_id != -1 )
$( ':input[name="_thumbnail_id"]', $edit_row ).val( $featured_image_id ); // ID
$( '.misha_upload_featured_image', $edit_row ).html( $featured_image ); // image HTML
$( '.misha_remove_featured_image', $edit_row ).show(); // the remove link
);
</script>
<?php
If you want more details on how this works and what each part of code does, refer to the tutorial by Misha Rudrastyh.
add a comment |
Yes, it can be done very easily. There is a great tutorial by Misha Rudrastyh on how to add Featured Images to Quick Edit. I recently applied it and can confirm that it works. You will be able to see the featured images in the admin area post lists and easily change them using Quick Edit. It is a very good alternative to using a plugin.
Copy and paste the following to your functions.php file:
/*
*
* Add Featured Image Column to Admin Area and Quick Edit menu
* Source: https://rudrastyh.com/wordpress/quick-edit-featured-image.html
*
*/
/*
* This action hook allows to add a new empty column
*/
add_filter('manage_post_posts_columns', 'misha_featured_image_column');
function misha_featured_image_column( $column_array )
// I want to add my column at the beginning, so I use array_slice()
// in other cases $column_array['featured_image'] = 'Featured Image' will be enough
$column_array = array_slice( $column_array, 0, 1, true )
+ array('featured_image' => 'Featured Image') // our new column for featured images
+ array_slice( $column_array, 1, NULL, true );
return $column_array;
/*
* This hook will fill our column with data
*/
add_action('manage_posts_custom_column', 'misha_render_the_column', 10, 2);
function misha_render_the_column( $column_name, $post_id )
if( $column_name == 'featured_image' )
// if there is no featured image for this post, print the placeholder
if( has_post_thumbnail( $post_id ) )
// I know about get_the_post_thumbnail() function but we need data-id attribute here
$thumb_id = get_post_thumbnail_id( $post_id );
echo '<img data-id="' . $thumb_id . '" src="' . wp_get_attachment_url( $thumb_id ) . '" />';
else
// data-id should be "-1" I will explain below
echo '<img data-id="-1" src="' . get_stylesheet_directory_uri() . '/placeholder.png" />';
add_action( 'admin_head', 'misha_custom_css' );
function misha_custom_css()
echo '<style>
#featured_image
width:120px;
td.featured_image.column-featured_image img
max-width: 100%;
height: auto;
/* some styles to make Quick Edit meny beautiful */
#misha_featured_image .titlemargin-top:10px;display:block;
#misha_featured_image a.misha_upload_featured_image
display:inline-block;
margin:10px 0 0;
#misha_featured_image img
display:block;
max-width:200px !important;
height:auto;
#misha_featured_image .misha_remove_featured_image
display:none;
</style>';
add_action( 'admin_enqueue_scripts', 'misha_include_myuploadscript' );
function misha_include_myuploadscript()
if ( ! did_action( 'wp_enqueue_media' ) )
wp_enqueue_media();
add_action('quick_edit_custom_box', 'misha_add_featured_image_quick_edit', 10, 2);
function misha_add_featured_image_quick_edit( $column_name, $post_type )
// add it only if we have featured image column
if ($column_name != 'featured_image') return;
// we add #misha_featured_image to use it in JavaScript in CSS
echo '<fieldset id="misha_featured_image" class="inline-edit-col-left">
<div class="inline-edit-col">
<span class="title">Featured Image</span>
<div>
<a href="#" class="misha_upload_featured_image">Set featured image</a>
<input type="hidden" name="_thumbnail_id" value="" />
<a href="#" class="misha_remove_featured_image">Remove Featured Image</a>
</div>
</div></fieldset>';
// please look at _thumbnail_id as a name attribute - I use it to skip save_post action
add_action('admin_footer', 'misha_quick_edit_js_update');
function misha_quick_edit_js_update() ($current_screen->post_type != 'post'))
return;
?><script>
jQuery(function($)
$('body').on('click', '.misha_upload_featured_image', function(e)
e.preventDefault();
var button = $(this),
custom_uploader = wp.media(
title: 'Set featured image',
library : type : 'image' ,
button: text: 'Set featured image' ,
).on('select', function()
var attachment = custom_uploader.state().get('selection').first().toJSON();
$(button).html('<img src="' + attachment.url + '" />').next().val(attachment.id).parent().next().show();
).open();
);
$('body').on('click', '.misha_remove_featured_image', function()
$(this).hide().prev().val('-1').prev().html('Set featured Image');
return false;
);
var $wp_inline_edit = inlineEditPost.edit;
inlineEditPost.edit = function( id )
$wp_inline_edit.apply( this, arguments );
var $post_id = 0;
if ( typeof( id ) == 'object' )
$post_id = parseInt( this.getId( id ) );
if ( $post_id > 0 )
var $edit_row = $( '#edit-' + $post_id ),
$post_row = $( '#post-' + $post_id ),
$featured_image = $( '.column-featured_image', $post_row ).html(),
$featured_image_id = $( '.column-featured_image', $post_row ).find('img').attr('data-id');
if( $featured_image_id != -1 )
$( ':input[name="_thumbnail_id"]', $edit_row ).val( $featured_image_id ); // ID
$( '.misha_upload_featured_image', $edit_row ).html( $featured_image ); // image HTML
$( '.misha_remove_featured_image', $edit_row ).show(); // the remove link
);
</script>
<?php
If you want more details on how this works and what each part of code does, refer to the tutorial by Misha Rudrastyh.
add a comment |
Yes, it can be done very easily. There is a great tutorial by Misha Rudrastyh on how to add Featured Images to Quick Edit. I recently applied it and can confirm that it works. You will be able to see the featured images in the admin area post lists and easily change them using Quick Edit. It is a very good alternative to using a plugin.
Copy and paste the following to your functions.php file:
/*
*
* Add Featured Image Column to Admin Area and Quick Edit menu
* Source: https://rudrastyh.com/wordpress/quick-edit-featured-image.html
*
*/
/*
* This action hook allows to add a new empty column
*/
add_filter('manage_post_posts_columns', 'misha_featured_image_column');
function misha_featured_image_column( $column_array )
// I want to add my column at the beginning, so I use array_slice()
// in other cases $column_array['featured_image'] = 'Featured Image' will be enough
$column_array = array_slice( $column_array, 0, 1, true )
+ array('featured_image' => 'Featured Image') // our new column for featured images
+ array_slice( $column_array, 1, NULL, true );
return $column_array;
/*
* This hook will fill our column with data
*/
add_action('manage_posts_custom_column', 'misha_render_the_column', 10, 2);
function misha_render_the_column( $column_name, $post_id )
if( $column_name == 'featured_image' )
// if there is no featured image for this post, print the placeholder
if( has_post_thumbnail( $post_id ) )
// I know about get_the_post_thumbnail() function but we need data-id attribute here
$thumb_id = get_post_thumbnail_id( $post_id );
echo '<img data-id="' . $thumb_id . '" src="' . wp_get_attachment_url( $thumb_id ) . '" />';
else
// data-id should be "-1" I will explain below
echo '<img data-id="-1" src="' . get_stylesheet_directory_uri() . '/placeholder.png" />';
add_action( 'admin_head', 'misha_custom_css' );
function misha_custom_css()
echo '<style>
#featured_image
width:120px;
td.featured_image.column-featured_image img
max-width: 100%;
height: auto;
/* some styles to make Quick Edit meny beautiful */
#misha_featured_image .titlemargin-top:10px;display:block;
#misha_featured_image a.misha_upload_featured_image
display:inline-block;
margin:10px 0 0;
#misha_featured_image img
display:block;
max-width:200px !important;
height:auto;
#misha_featured_image .misha_remove_featured_image
display:none;
</style>';
add_action( 'admin_enqueue_scripts', 'misha_include_myuploadscript' );
function misha_include_myuploadscript()
if ( ! did_action( 'wp_enqueue_media' ) )
wp_enqueue_media();
add_action('quick_edit_custom_box', 'misha_add_featured_image_quick_edit', 10, 2);
function misha_add_featured_image_quick_edit( $column_name, $post_type )
// add it only if we have featured image column
if ($column_name != 'featured_image') return;
// we add #misha_featured_image to use it in JavaScript in CSS
echo '<fieldset id="misha_featured_image" class="inline-edit-col-left">
<div class="inline-edit-col">
<span class="title">Featured Image</span>
<div>
<a href="#" class="misha_upload_featured_image">Set featured image</a>
<input type="hidden" name="_thumbnail_id" value="" />
<a href="#" class="misha_remove_featured_image">Remove Featured Image</a>
</div>
</div></fieldset>';
// please look at _thumbnail_id as a name attribute - I use it to skip save_post action
add_action('admin_footer', 'misha_quick_edit_js_update');
function misha_quick_edit_js_update() ($current_screen->post_type != 'post'))
return;
?><script>
jQuery(function($)
$('body').on('click', '.misha_upload_featured_image', function(e)
e.preventDefault();
var button = $(this),
custom_uploader = wp.media(
title: 'Set featured image',
library : type : 'image' ,
button: text: 'Set featured image' ,
).on('select', function()
var attachment = custom_uploader.state().get('selection').first().toJSON();
$(button).html('<img src="' + attachment.url + '" />').next().val(attachment.id).parent().next().show();
).open();
);
$('body').on('click', '.misha_remove_featured_image', function()
$(this).hide().prev().val('-1').prev().html('Set featured Image');
return false;
);
var $wp_inline_edit = inlineEditPost.edit;
inlineEditPost.edit = function( id )
$wp_inline_edit.apply( this, arguments );
var $post_id = 0;
if ( typeof( id ) == 'object' )
$post_id = parseInt( this.getId( id ) );
if ( $post_id > 0 )
var $edit_row = $( '#edit-' + $post_id ),
$post_row = $( '#post-' + $post_id ),
$featured_image = $( '.column-featured_image', $post_row ).html(),
$featured_image_id = $( '.column-featured_image', $post_row ).find('img').attr('data-id');
if( $featured_image_id != -1 )
$( ':input[name="_thumbnail_id"]', $edit_row ).val( $featured_image_id ); // ID
$( '.misha_upload_featured_image', $edit_row ).html( $featured_image ); // image HTML
$( '.misha_remove_featured_image', $edit_row ).show(); // the remove link
);
</script>
<?php
If you want more details on how this works and what each part of code does, refer to the tutorial by Misha Rudrastyh.
Yes, it can be done very easily. There is a great tutorial by Misha Rudrastyh on how to add Featured Images to Quick Edit. I recently applied it and can confirm that it works. You will be able to see the featured images in the admin area post lists and easily change them using Quick Edit. It is a very good alternative to using a plugin.
Copy and paste the following to your functions.php file:
/*
*
* Add Featured Image Column to Admin Area and Quick Edit menu
* Source: https://rudrastyh.com/wordpress/quick-edit-featured-image.html
*
*/
/*
* This action hook allows to add a new empty column
*/
add_filter('manage_post_posts_columns', 'misha_featured_image_column');
function misha_featured_image_column( $column_array )
// I want to add my column at the beginning, so I use array_slice()
// in other cases $column_array['featured_image'] = 'Featured Image' will be enough
$column_array = array_slice( $column_array, 0, 1, true )
+ array('featured_image' => 'Featured Image') // our new column for featured images
+ array_slice( $column_array, 1, NULL, true );
return $column_array;
/*
* This hook will fill our column with data
*/
add_action('manage_posts_custom_column', 'misha_render_the_column', 10, 2);
function misha_render_the_column( $column_name, $post_id )
if( $column_name == 'featured_image' )
// if there is no featured image for this post, print the placeholder
if( has_post_thumbnail( $post_id ) )
// I know about get_the_post_thumbnail() function but we need data-id attribute here
$thumb_id = get_post_thumbnail_id( $post_id );
echo '<img data-id="' . $thumb_id . '" src="' . wp_get_attachment_url( $thumb_id ) . '" />';
else
// data-id should be "-1" I will explain below
echo '<img data-id="-1" src="' . get_stylesheet_directory_uri() . '/placeholder.png" />';
add_action( 'admin_head', 'misha_custom_css' );
function misha_custom_css()
echo '<style>
#featured_image
width:120px;
td.featured_image.column-featured_image img
max-width: 100%;
height: auto;
/* some styles to make Quick Edit meny beautiful */
#misha_featured_image .titlemargin-top:10px;display:block;
#misha_featured_image a.misha_upload_featured_image
display:inline-block;
margin:10px 0 0;
#misha_featured_image img
display:block;
max-width:200px !important;
height:auto;
#misha_featured_image .misha_remove_featured_image
display:none;
</style>';
add_action( 'admin_enqueue_scripts', 'misha_include_myuploadscript' );
function misha_include_myuploadscript()
if ( ! did_action( 'wp_enqueue_media' ) )
wp_enqueue_media();
add_action('quick_edit_custom_box', 'misha_add_featured_image_quick_edit', 10, 2);
function misha_add_featured_image_quick_edit( $column_name, $post_type )
// add it only if we have featured image column
if ($column_name != 'featured_image') return;
// we add #misha_featured_image to use it in JavaScript in CSS
echo '<fieldset id="misha_featured_image" class="inline-edit-col-left">
<div class="inline-edit-col">
<span class="title">Featured Image</span>
<div>
<a href="#" class="misha_upload_featured_image">Set featured image</a>
<input type="hidden" name="_thumbnail_id" value="" />
<a href="#" class="misha_remove_featured_image">Remove Featured Image</a>
</div>
</div></fieldset>';
// please look at _thumbnail_id as a name attribute - I use it to skip save_post action
add_action('admin_footer', 'misha_quick_edit_js_update');
function misha_quick_edit_js_update() ($current_screen->post_type != 'post'))
return;
?><script>
jQuery(function($)
$('body').on('click', '.misha_upload_featured_image', function(e)
e.preventDefault();
var button = $(this),
custom_uploader = wp.media(
title: 'Set featured image',
library : type : 'image' ,
button: text: 'Set featured image' ,
).on('select', function()
var attachment = custom_uploader.state().get('selection').first().toJSON();
$(button).html('<img src="' + attachment.url + '" />').next().val(attachment.id).parent().next().show();
).open();
);
$('body').on('click', '.misha_remove_featured_image', function()
$(this).hide().prev().val('-1').prev().html('Set featured Image');
return false;
);
var $wp_inline_edit = inlineEditPost.edit;
inlineEditPost.edit = function( id )
$wp_inline_edit.apply( this, arguments );
var $post_id = 0;
if ( typeof( id ) == 'object' )
$post_id = parseInt( this.getId( id ) );
if ( $post_id > 0 )
var $edit_row = $( '#edit-' + $post_id ),
$post_row = $( '#post-' + $post_id ),
$featured_image = $( '.column-featured_image', $post_row ).html(),
$featured_image_id = $( '.column-featured_image', $post_row ).find('img').attr('data-id');
if( $featured_image_id != -1 )
$( ':input[name="_thumbnail_id"]', $edit_row ).val( $featured_image_id ); // ID
$( '.misha_upload_featured_image', $edit_row ).html( $featured_image ); // image HTML
$( '.misha_remove_featured_image', $edit_row ).show(); // the remove link
);
</script>
<?php
If you want more details on how this works and what each part of code does, refer to the tutorial by Misha Rudrastyh.
answered 4 hours ago
jsmodjsmod
1119
1119
add a comment |
add a comment |
Thanks for contributing an answer to WordPress Development Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f331865%2fadding-featured-image-in-post-list%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown