Test Failed
Push — master ( 221738...0eac1e )
by ANDRE
02:36
created

Simple_Featured_Image_Column::init()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 17
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 4
eloc 10
c 2
b 0
f 0
nc 4
nop 0
dl 0
loc 17
rs 9.9332
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.8
7
 * Author: Andre Aguiar Villela
8
 * Author URI: https://dedevillela.com/
9
 * License: GPLv2+
10
 **/
11
12
  if (!defined('ABSPATH') || preg_match('#'.basename(__FILE__).'#', filter_input(INPUT_SERVER, 'PHP_SELF');)) {
0 ignored issues
show
Bug introduced by
A parse error occurred: Syntax error, unexpected ';', expecting ',' or ')' on line 12 at column 106
Loading history...
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
		public function __construct() {
21
			add_action('admin_init', array($this, 'init'));
22
		}
23
24
		private 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 (!/** @scrutinizer ignore-call */ post_type_supports($post_type, 'thumbnail')) {
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
		private 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'] = /** @scrutinizer ignore-call */ __('Image', 'wordpress');
53
				}
54
				$new[$key] = $title;
55
			}
56
			return $new;
57
		}
58
59
		private 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
	  
76
	$featured_image_column = new Simple_Featured_Image_Column;
77
	  
78
};
79