| |
| <?php
|
|
|
|
|
| add_filter('manage_post_posts_columns', 'misha_featured_image_column');
|
|
|
| function misha_featured_image_column( $column_array ) {
|
|
|
|
|
|
|
| $column_array = array_slice( $column_array, 0, 1, true )
|
| + array('featured_image' => 'Tunnuspilt')
|
| + array_slice( $column_array, 1, NULL, true );
|
|
|
| return $column_array;
|
| }
|
|
|
|
|
|
|
|
|
| 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( has_post_thumbnail( $post_id ) ) {
|
|
|
|
|
| $thumb_id = get_post_thumbnail_id( $post_id );
|
| echo '<img data-id="' . $thumb_id . '" src="' . wp_get_attachment_url( $thumb_id ) . '" />';
|
|
|
| } else {
|
|
|
|
|
| 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 .title{margin-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 ) {
|
|
|
|
|
| if ($column_name != 'featured_image') return;
|
|
|
|
|
| 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>';
|
|
|
|
|
|
|
| }
|
|
|
| add_action('admin_footer', 'misha_quick_edit_js_update');
|
| function misha_quick_edit_js_update() {
|
|
|
| global $current_screen;
|
|
|
|
|
| if (($current_screen->id != 'edit-post') || ($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 );
|
| $( '.misha_upload_featured_image', $edit_row ).html( $featured_image );
|
| $( '.misha_remove_featured_image', $edit_row ).show();
|
|
|
| }
|
| }
|
| }
|
| });
|
| </script>
|
| <?php
|
| }
|
| |
| |
Comments