Version Description
- [Fixed] Fixes an issue with some 3rd party column not being visible
Download this release
Release Info
Developer | tschutter |
Plugin | Admin Columns |
Version | 2.5.3 |
Comparing to | |
See all releases |
Code changes from version 2.5.2 to 2.5.3
- classes/storage_model.php +25 -29
- classes/storage_model/comment.php +0 -1
- classes/storage_model/post.php +3 -10
- classes/storage_model/user.php +0 -1
- codepress-admin-columns.php +5 -10
- readme.txt +4 -1
classes/storage_model.php
CHANGED
@@ -112,12 +112,6 @@ abstract class CPAC_Storage_Model {
|
|
112 |
*/
|
113 |
private $stored_columns = array();
|
114 |
|
115 |
-
/**
|
116 |
-
* @since 2.5
|
117 |
-
* @var array
|
118 |
-
*/
|
119 |
-
private $default_stored = false;
|
120 |
-
|
121 |
/**
|
122 |
* @since 2.4.4
|
123 |
*/
|
@@ -181,8 +175,17 @@ abstract class CPAC_Storage_Model {
|
|
181 |
$default_columns = $this->get_default_column_headings();
|
182 |
}
|
183 |
|
184 |
-
//
|
185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
|
187 |
// Default columns
|
188 |
if ( $default_columns ) {
|
@@ -225,17 +228,6 @@ abstract class CPAC_Storage_Model {
|
|
225 |
}
|
226 |
}
|
227 |
|
228 |
-
// Custom columns
|
229 |
-
foreach ( $this->columns_filepath as $classname => $path ) {
|
230 |
-
include_once $path;
|
231 |
-
if ( class_exists( $classname, false ) ) {
|
232 |
-
$column = new $classname( $this->key );
|
233 |
-
if ( $column->is_registered() ) {
|
234 |
-
$column_types[ $column->get_type() ] = $column;
|
235 |
-
}
|
236 |
-
}
|
237 |
-
}
|
238 |
-
|
239 |
$this->column_types = $column_types;
|
240 |
|
241 |
// @since 2.5
|
@@ -671,7 +663,7 @@ abstract class CPAC_Storage_Model {
|
|
671 |
private function get_storage_id() {
|
672 |
$layout = $this->layout ? $this->layout : null;
|
673 |
|
674 |
-
return
|
675 |
}
|
676 |
|
677 |
/**
|
@@ -883,7 +875,7 @@ abstract class CPAC_Storage_Model {
|
|
883 |
return get_option( $this->get_storage_key() . "__default", array() );
|
884 |
}
|
885 |
|
886 |
-
|
887 |
delete_option( $this->get_storage_key() . "__default" );
|
888 |
}
|
889 |
|
@@ -966,23 +958,27 @@ abstract class CPAC_Storage_Model {
|
|
966 |
*/
|
967 |
public function add_headings( $columns ) {
|
968 |
|
969 |
-
// in case a 3rd party plugin removes all columns we can skip this
|
970 |
if ( empty( $columns ) ) {
|
971 |
return $columns;
|
972 |
}
|
973 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
974 |
// make sure we run this only once
|
975 |
if ( $this->column_headings ) {
|
976 |
return $this->column_headings;
|
977 |
}
|
978 |
|
979 |
-
|
980 |
-
if ( ! $this->default_stored && $this->is_current_screen() ) {
|
981 |
-
$this->store_default_columns( $columns );
|
982 |
-
$this->default_stored = true;
|
983 |
-
}
|
984 |
|
985 |
-
if ( !
|
986 |
return $columns;
|
987 |
}
|
988 |
|
@@ -1026,7 +1022,7 @@ abstract class CPAC_Storage_Model {
|
|
1026 |
// Add 3rd party columns that have ( or could ) not been stored.
|
1027 |
// For example when a plugin has been activated after storing column settings.
|
1028 |
// When $diff contains items, it means an available column has not been stored.
|
1029 |
-
if ( ! $this->is_using_php_export() && ( $diff = array_diff( array_keys( $columns ), array_keys( $this->get_default_stored_columns() ) ) ) ) {
|
1030 |
foreach ( $diff as $column_name ) {
|
1031 |
$this->column_headings[ $column_name ] = $columns[ $column_name ];
|
1032 |
}
|
112 |
*/
|
113 |
private $stored_columns = array();
|
114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
/**
|
116 |
* @since 2.4.4
|
117 |
*/
|
175 |
$default_columns = $this->get_default_column_headings();
|
176 |
}
|
177 |
|
178 |
+
// Custom columns
|
179 |
+
foreach ( $this->columns_filepath as $classname => $path ) {
|
180 |
+
include_once $path;
|
181 |
+
if ( class_exists( $classname, false ) ) {
|
182 |
+
$column = new $classname( $this->key );
|
183 |
+
|
184 |
+
if ( $column->is_registered() ) {
|
185 |
+
$column_types[ $column->get_type() ] = $column;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
}
|
189 |
|
190 |
// Default columns
|
191 |
if ( $default_columns ) {
|
228 |
}
|
229 |
}
|
230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
$this->column_types = $column_types;
|
232 |
|
233 |
// @since 2.5
|
663 |
private function get_storage_id() {
|
664 |
$layout = $this->layout ? $this->layout : null;
|
665 |
|
666 |
+
return $this->get_storage_key() . $layout;
|
667 |
}
|
668 |
|
669 |
/**
|
875 |
return get_option( $this->get_storage_key() . "__default", array() );
|
876 |
}
|
877 |
|
878 |
+
public function delete_default_stored_columns() {
|
879 |
delete_option( $this->get_storage_key() . "__default" );
|
880 |
}
|
881 |
|
958 |
*/
|
959 |
public function add_headings( $columns ) {
|
960 |
|
|
|
961 |
if ( empty( $columns ) ) {
|
962 |
return $columns;
|
963 |
}
|
964 |
|
965 |
+
// for the rare case where a screen hasn't been set yet and a
|
966 |
+
// plugin uses a custom version of apply_filters( "manage_{$screen->id}_columns", array() )
|
967 |
+
if ( ! get_current_screen() ) {
|
968 |
+
return $columns;
|
969 |
+
}
|
970 |
+
|
971 |
+
// Stores the default columns on the listings screen
|
972 |
+
$this->store_default_columns( $columns );
|
973 |
+
|
974 |
// make sure we run this only once
|
975 |
if ( $this->column_headings ) {
|
976 |
return $this->column_headings;
|
977 |
}
|
978 |
|
979 |
+
$stored_columns = $this->get_stored_columns();
|
|
|
|
|
|
|
|
|
980 |
|
981 |
+
if ( ! $stored_columns ) {
|
982 |
return $columns;
|
983 |
}
|
984 |
|
1022 |
// Add 3rd party columns that have ( or could ) not been stored.
|
1023 |
// For example when a plugin has been activated after storing column settings.
|
1024 |
// When $diff contains items, it means an available column has not been stored.
|
1025 |
+
if ( ! $this->is_using_php_export() && ( $diff = array_diff( array_keys( $columns ), array_keys( (array) $this->get_default_stored_columns() ) ) ) ) {
|
1026 |
foreach ( $diff as $column_name ) {
|
1027 |
$this->column_headings[ $column_name ] = $columns[ $column_name ];
|
1028 |
}
|
classes/storage_model/comment.php
CHANGED
@@ -35,7 +35,6 @@ class CPAC_Storage_Model_Comment extends CPAC_Storage_Model {
|
|
35 |
'author' => array( 'width' => 20 ),
|
36 |
'response' => array( 'width' => 15 ),
|
37 |
'date' => array( 'width' => 14 ),
|
38 |
-
|
39 |
);
|
40 |
}
|
41 |
|
35 |
'author' => array( 'width' => 20 ),
|
36 |
'response' => array( 'width' => 15 ),
|
37 |
'date' => array( 'width' => 14 ),
|
|
|
38 |
);
|
39 |
}
|
40 |
|
classes/storage_model/post.php
CHANGED
@@ -28,15 +28,8 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
|
|
28 |
public function init_manage_columns() {
|
29 |
|
30 |
// Headings
|
31 |
-
|
32 |
-
|
33 |
-
add_filter( "manage_{$this->post_type}_posts_columns", array( $this, 'add_headings' ), 100 );
|
34 |
-
|
35 |
-
// Deprecated ( as of 3.1 ) Note: This one is still used by woocommerce.
|
36 |
-
// Priority set to 100 top make sure the WooCommerce headings are overwritten by CAC
|
37 |
-
// Filter is located in get_column_headers().
|
38 |
-
// @todo_minor check compatibility issues for this deprecated filter
|
39 |
-
add_filter( "manage_{$this->page}-{$this->post_type}_columns", array( $this, 'add_headings' ), 100 );
|
40 |
|
41 |
// values
|
42 |
add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100, 2 );
|
@@ -86,7 +79,7 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
|
|
86 |
setup_postdata( $post );
|
87 |
|
88 |
// Remove Admin Columns action for this column's value
|
89 |
-
remove_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100
|
90 |
|
91 |
ob_start();
|
92 |
// Run WordPress native actions to display column content
|
28 |
public function init_manage_columns() {
|
29 |
|
30 |
// Headings
|
31 |
+
// Filter is located in get_column_headers()
|
32 |
+
add_filter( "manage_{$this->page}-{$this->post_type}_columns", array( $this, 'add_headings' ), 200 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
// values
|
35 |
add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100, 2 );
|
79 |
setup_postdata( $post );
|
80 |
|
81 |
// Remove Admin Columns action for this column's value
|
82 |
+
remove_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100 );
|
83 |
|
84 |
ob_start();
|
85 |
// Run WordPress native actions to display column content
|
classes/storage_model/user.php
CHANGED
@@ -21,7 +21,6 @@ class CPAC_Storage_Model_User extends CPAC_Storage_Model {
|
|
21 |
* @since 2.4.9
|
22 |
*/
|
23 |
public function init_manage_columns() {
|
24 |
-
|
25 |
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ), 100 );
|
26 |
add_filter( 'manage_users_custom_column', array( $this, 'manage_value_callback' ), 100, 3 );
|
27 |
}
|
21 |
* @since 2.4.9
|
22 |
*/
|
23 |
public function init_manage_columns() {
|
|
|
24 |
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ), 100 );
|
25 |
add_filter( 'manage_users_custom_column', array( $this, 'manage_value_callback' ), 100, 3 );
|
26 |
}
|
codepress-admin-columns.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Admin Columns
|
4 |
-
Version: 2.5.
|
5 |
Description: Customize columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
6 |
Author: AdminColumns.com
|
7 |
Author URI: https://www.admincolumns.com
|
@@ -32,7 +32,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
32 |
}
|
33 |
|
34 |
// Plugin information
|
35 |
-
define( 'CPAC_VERSION', '2.5.
|
36 |
define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // Latest version which requires an upgrade
|
37 |
define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
|
38 |
define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
|
@@ -171,7 +171,6 @@ class CPAC {
|
|
171 |
* @uses load_plugin_textdomain()
|
172 |
*/
|
173 |
public function localize() {
|
174 |
-
|
175 |
load_plugin_textdomain( 'codepress-admin-columns', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
176 |
}
|
177 |
|
@@ -286,15 +285,11 @@ class CPAC {
|
|
286 |
*/
|
287 |
public function set_columns() {
|
288 |
|
289 |
-
$storage_model = false;
|
290 |
-
|
291 |
// Listings screen
|
292 |
-
|
293 |
-
$storage_model = $this->get_current_storage_model();
|
294 |
-
}
|
295 |
|
296 |
// WP Ajax calls (not AC)
|
297 |
-
|
298 |
$storage_model = $this->get_storage_model( $model );
|
299 |
}
|
300 |
|
@@ -313,7 +308,7 @@ class CPAC {
|
|
313 |
* @return CPAC_Storage_Model
|
314 |
*/
|
315 |
public function get_current_storage_model() {
|
316 |
-
if ( ! $this->current_storage_model && $this->get_storage_models() ) {
|
317 |
foreach ( $this->get_storage_models() as $storage_model ) {
|
318 |
if ( $storage_model->is_current_screen() ) {
|
319 |
$this->current_storage_model = $storage_model;
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Admin Columns
|
4 |
+
Version: 2.5.3
|
5 |
Description: Customize columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
6 |
Author: AdminColumns.com
|
7 |
Author URI: https://www.admincolumns.com
|
32 |
}
|
33 |
|
34 |
// Plugin information
|
35 |
+
define( 'CPAC_VERSION', '2.5.3' ); // Current plugin version
|
36 |
define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // Latest version which requires an upgrade
|
37 |
define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
|
38 |
define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
|
171 |
* @uses load_plugin_textdomain()
|
172 |
*/
|
173 |
public function localize() {
|
|
|
174 |
load_plugin_textdomain( 'codepress-admin-columns', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
175 |
}
|
176 |
|
285 |
*/
|
286 |
public function set_columns() {
|
287 |
|
|
|
|
|
288 |
// Listings screen
|
289 |
+
$storage_model = $this->get_current_storage_model();
|
|
|
|
|
290 |
|
291 |
// WP Ajax calls (not AC)
|
292 |
+
if ( $model = cac_wp_is_doing_ajax() ) {
|
293 |
$storage_model = $this->get_storage_model( $model );
|
294 |
}
|
295 |
|
308 |
* @return CPAC_Storage_Model
|
309 |
*/
|
310 |
public function get_current_storage_model() {
|
311 |
+
if ( ! $this->current_storage_model && $this->is_columns_screen() && $this->get_storage_models() ) {
|
312 |
foreach ( $this->get_storage_models() as $storage_model ) {
|
313 |
if ( $storage_model->is_current_screen() ) {
|
314 |
$this->current_storage_model = $storage_model;
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: plugins, wordpress, admin, column, columns, custom columns, custom fields, image, dashboard, sortable, filters, posts, media, users, pages, posttypes, manage columns, wp-admin
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 4.4.2
|
7 |
-
Stable tag: 2.5.
|
8 |
|
9 |
Customise columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
10 |
|
@@ -210,6 +210,9 @@ You can find a list of the available actions and filters (and examples on how to
|
|
210 |
|
211 |
== Changelog ==
|
212 |
|
|
|
|
|
|
|
213 |
= 2.5.2 =
|
214 |
* [Fixed] Fixes an issue where some of the WordPress default columns did not display correctly
|
215 |
|
4 |
Tags: plugins, wordpress, admin, column, columns, custom columns, custom fields, image, dashboard, sortable, filters, posts, media, users, pages, posttypes, manage columns, wp-admin
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 4.4.2
|
7 |
+
Stable tag: 2.5.3
|
8 |
|
9 |
Customise columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
10 |
|
210 |
|
211 |
== Changelog ==
|
212 |
|
213 |
+
= 2.5.3 =
|
214 |
+
* [Fixed] Fixes an issue with some 3rd party column not being visible
|
215 |
+
|
216 |
= 2.5.2 =
|
217 |
* [Fixed] Fixes an issue where some of the WordPress default columns did not display correctly
|
218 |
|