Passed
Branch master (a6d779)
by ANDRE
04:02 queued 01:46
created

simple-featured-image-column.php (2 issues)

Labels
Severity
1
<?php
2
/**
3
 * Plugin Name: Simple Featured Image Column
4
 * Plugin URI: https://github.com/dedevillela/Simple-Featured-Image-Column/
5
 * Description: A simple plugin that displays the "Featured Image" column in admin post type listing. Supports Post, Pages and Custom Posts.
6
 * Version: 1.0.7
7
 * Author: Andre Aguiar Villela
8
 * Author URI: https://dedevillela.com/
9
 * License: GPLv2+
10
 **/
11
12
  if (!defined( 'ABSPATH' ) || preg_match('#'.basename( __FILE__ ).'#', $_SERVER['PHP_SELF'])) {
13
  	die("Hey, dude! What are you doing here?");
14
  }
15
16
  if (!class_exists('Simple_Featured_Image_Column')) {
17
18
	class Simple_Featured_Image_Column {
19
20
		function __construct() {
21
			add_action('admin_init', array($this, 'init'));
22
		}
23
24
		function init() {
25
26
			$post_types = apply_filters('Simple_Featured_Image_Column_post_types', get_post_types(array('public' => true)));
27
			if (empty($post_types)) {
28
				return;
29
			}
30
31
			add_action('admin_head', function() { 
32
				echo '<style>th#featured-image  { width: 100px; }</style>'."\r\n"; 
33
			});
34
			
35
			foreach ($post_types as $post_type) {
36
				if (!post_type_supports($post_type, 'thumbnail')) {
0 ignored issues
show
The function post_type_supports was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

36
				if (!/** @scrutinizer ignore-call */ post_type_supports($post_type, 'thumbnail')) {
Loading history...
37
					continue;
38
				}
39
				add_filter("manage_{$post_type}_posts_columns", array($this, 'columns'));
40
				add_action("manage_{$post_type}_posts_custom_column", array($this, 'column_data'), 10, 2);
41
			}
42
		}
43
44
		function columns($columns) {
45
			
46
			if (!is_array($columns)) {
47
				$columns = array();
48
			}
49
			$new = array();
50
			foreach($columns as $key => $title){
51
				if ($key == 'title') {
52
					$new['featured-image'] = __('Image', 'wordpress');
0 ignored issues
show
The function __ was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

52
					$new['featured-image'] = /** @scrutinizer ignore-call */ __('Image', 'wordpress');
Loading history...
53
				}
54
				$new[$key] = $title;
55
			}
56
			return $new;
57
		}
58
59
		function column_data($column_name, $post_id) {
60
			
61
			if ('featured-image' != $column_name) {
62
				return;
63
			}
64
			$style = 'display: block; max-width: 100px; height: auto; border: 1px solid #e5e5e5;';
65
			$style = apply_filters('Simple_Featured_Image_Column_image_style', $style);
66
67
			if (has_post_thumbnail($post_id)) {
68
				$size = 'thumbnail';
69
				echo get_the_post_thumbnail($post_id, $size, 'style='.$style);
70
			} else {
71
				echo '<img style="'. $style .'" src="'. esc_url(plugins_url('images/default.png', __FILE__)) .'" />';
72
			}	
73
		}
74
	}
75
	$featured_image_column = new Simple_Featured_Image_Column;
76
};
77