PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
plugins
/
admin-site-enhancements
/
classes
<?php namespace ASENHA\Classes; /** * Class for Enhance List Tables module * * @since 6.9.5 */ class Enhance_List_Tables { /** * Current post type. For Content Admin >> Show Custom Taxonomy Filters functionality. */ public $post_type; /** * Show featured images column in list tables for pages and post types that support featured image * * @since 1.0.0 */ public function show_featured_image_column() { $post_types = get_post_types( array( 'public' => true, ), 'names' ); foreach ( $post_types as $post_type_key => $post_type_name ) { if ( post_type_supports( $post_type_key, 'thumbnail' ) ) { add_filter( "manage_{$post_type_name}_posts_columns", [$this, 'add_featured_image_column'], 999 ); add_action( "manage_{$post_type_name}_posts_custom_column", [$this, 'add_featured_image'], 10, 2 ); } } } /** * Add a column called Featured Image as the first column * * @param mixed $columns * @return void * @since 1.0.0 */ public function add_featured_image_column( $columns ) { $new_columns = array(); foreach ( $columns as $key => $value ) { if ( 'title' == $key ) { // We add featured image column before the 'title' column $new_columns['asenha-featured-image'] = __( 'Featured Image', 'admin-site-enhancements' ); } if ( 'thumb' == $key ) { // For WooCommerce products, we add featured image column before it's native thumbnail column $new_columns['asenha-featured-image'] = __( 'Product Image', 'admin-site-enhancements' ); } $new_columns[$key] = $value; } // Replace WooCommerce thumbnail column with ASE featured image column if ( array_key_exists( 'thumb', $new_columns ) ) { unset($new_columns['thumb']); } return $new_columns; } /** * Echo featured image's in thumbnail size to a column * * @param mixed $column_name * @param mixed $id * @since 1.0.0 */ public function add_featured_image( $column_name, $id ) { if ( 'asenha-featured-image' === $column_name ) { if ( has_post_thumbnail( $id ) ) { $size = 'thumbnail'; echo '<a href="' . get_edit_post_link( $id ) . '">' . get_the_post_thumbnail( $id, $size, '' ) . '</a>'; } else { echo '<a href="' . get_edit_post_link( $id ) . '"><img src="' . esc_url( plugins_url( 'assets/img/default_featured_image.jpg', __DIR__ ) ) . '" /></a>'; } } } /** * Show excerpt column in list tables for pages and post types that support excerpt. * * @since 1.0.0 */ public function show_excerpt_column() { $post_types = get_post_types( array( 'public' => true, ), 'names' ); foreach ( $post_types as $post_type_key => $post_type_name ) { if ( post_type_supports( $post_type_key, 'excerpt' ) ) { add_filter( "manage_{$post_type_name}_posts_columns", [$this, 'add_excerpt_column'] ); add_action( "manage_{$post_type_name}_posts_custom_column", [$this, 'add_excerpt'], 10, 2 ); } } } /** * Add a column called Excerpt as the first column * * @param mixed $columns * @return void * @since 1.0.0 */ public function add_excerpt_column( $columns ) { $new_columns = array(); foreach ( $columns as $key => $value ) { $new_columns[$key] = $value; if ( $key == 'title' ) { $new_columns['asenha-excerpt'] = __( 'Excerpt', 'admin-site-enhancements' ); } } return $new_columns; } /** * Echo featured image's in thumbnail size to a column * * @param mixed $column_name * @param mixed $id * @since 1.0.0 */ public function add_excerpt( $column_name, $id ) { if ( 'asenha-excerpt' === $column_name ) { $excerpt = wp_strip_all_tags( get_the_excerpt( $id ) ); // about 310 characters $excerpt = substr( $excerpt, 0, 160 ); // truncate to 160 characters $short_excerpt = substr( $excerpt, 0, strrpos( $excerpt, ' ' ) ); echo wp_kses_post( $short_excerpt ); } } /** * Show last modified column for pages, posts and CPTs * * @since 7.4.0 */ public function show_last_modified_column() { foreach ( get_post_types() as $post_type ) { add_filter( 'manage_' . $post_type . '_posts_columns', [$this, 'add_last_modified_column'], 10, 1 ); add_action( 'manage_' . $post_type . '_posts_custom_column', [$this, 'show_last_modified_datetime'], 10, 2 ); add_filter( 'manage_edit-' . $post_type . '_sortable_columns', [$this, 'make_last_modified_column_sortable'], 10, 1 ); } } /** * Add a column called Last Modified * * @since 7.4.0 */ public function add_last_modified_column( $columns ) { $new_columns = array(); foreach ( $columns as $key => $value ) { $new_columns[$key] = $value; if ( $key == 'date' ) { $new_columns['asenha-last-modified'] = __( 'Last Modified', 'admin-site-enhancements' ); } } return $new_columns; } /** * Output the last modified date time for each post * * @since 7.4.0 */ public function show_last_modified_datetime( $column_name, $id ) { if ( 'asenha-last-modified' == $column_name ) { $modified_date_time_unix = strtotime( get_post_field( 'post_modified_gmt', $id ) ); echo '<span class="last-modified-timestamp">' . wp_date( get_option( 'date_format' ), $modified_date_time_unix ) . '<br />' . wp_date( get_option( 'time_format' ), $modified_date_time_unix ) . '</span>'; } } /** * Make last modified column sortable * * @since 7.4.0 */ public function make_last_modified_column_sortable( $columns ) { $columns['asenha-last-modified'] = 'modified'; return $columns; } /** * Add ID column list table of pages, posts, custom post types, media, taxonomies, custom taxonomies, users amd comments * * @since 1.0.0 */ public function show_id_column() { // For pages and hierarchical post types list table add_filter( 'manage_pages_columns', [$this, 'add_id_column'] ); add_action( 'manage_pages_custom_column', [$this, 'add_id_echo_value'], 10, 2 ); // For posts and non-hierarchical custom posts list table add_filter( 'manage_posts_columns', [$this, 'add_id_column'] ); add_action( 'manage_posts_custom_column', [$this, 'add_id_echo_value'], 10, 2 ); // For media list table add_filter( 'manage_media_columns', [$this, 'add_id_column'] ); add_action( 'manage_media_custom_column', [$this, 'add_id_echo_value'], 10, 2 ); // For list table of all taxonomies $taxonomies = get_taxonomies( [ 'public' => true, ], 'names' ); foreach ( $taxonomies as $taxonomy ) { add_filter( 'manage_edit-' . $taxonomy . '_columns', [$this, 'add_id_column'] ); add_action( 'manage_' . $taxonomy . '_custom_column', [$this, 'add_id_return_value'], 10, 3 ); } // For users list table add_filter( 'manage_users_columns', [$this, 'add_id_column'] ); add_action( 'manage_users_custom_column', [$this, 'add_id_return_value'], 10, 3 ); // For comments list table add_filter( 'manage_edit-comments_columns', [$this, 'add_id_column'] ); add_action( 'manage_comments_custom_column', [$this, 'add_id_echo_value'], 10, 3 ); } /** * Add a column called ID * * @param mixed $columns * @return void * @since 1.0.0 */ public function add_id_column( $columns ) { $columns['asenha-id'] = 'ID'; return $columns; } /** * Echo post ID value to a column * * @param mixed $column_name * @param mixed $id * @since 1.0.0 */ public function add_id_echo_value( $column_name, $id ) { if ( 'asenha-id' === $column_name ) { echo esc_html( $id ); } } /** * Return post ID value to a column * * @param mixed $value * @param mixed $column_name * @param mixed $id * @since 1.0.0 */ public function add_id_return_value( $value, $column_name, $id ) { if ( 'asenha-id' === $column_name ) { $value = $id; } return $value; } /** * Add file size column to media library * * @since 6.9.5 */ public function add_column_file_size( $columns ) { $columns['asenha-file-size'] = __( 'File Size', 'admin-site-enhancements' ); return $columns; } /** * Display the file size value * * @since 6.9.5 */ public function display_file_size( $column_name, $attachment_id ) { if ( 'asenha-file-size' != $column_name ) { return; } $file_size = filesize( get_attached_file( $attachment_id ) ); $file_size = size_format( $file_size, 1 ); // Show one decimal point echo esc_html( $file_size ); } /** * Add file size column to media library * * @since 6.9.5 */ public function add_media_styles() { echo '<style>.column-asenha-file-siz {width: 60px;}</style>'; } /** * Add ID in the action row of list tables for pages, posts, custom post types, media, taxonomies, custom taxonomies, users amd comments * * @since 4.7.4 */ public function show_id_in_action_row() { add_filter( 'page_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); add_filter( 'post_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); add_filter( 'cat_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); add_filter( 'tag_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); add_filter( 'media_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); add_filter( 'comment_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); add_filter( 'user_row_actions', array($this, 'add_id_in_action_row'), 99, 2 ); } /** * Output the ID in the action row * * @since 4.7.4 */ public function add_id_in_action_row( $actions, $object ) { if ( current_user_can( 'edit_posts' ) ) { // For pages, posts, custom post types, media/attachments, users if ( property_exists( $object, 'ID' ) ) { $id = $object->ID; } // For taxonomies if ( property_exists( $object, 'term_id' ) ) { $id = $object->term_id; } // For comments if ( property_exists( $object, 'comment_ID' ) ) { $id = $object->comment_ID; } $actions['asenha-list-table-item-id'] = '<span class="asenha-list-table-item-id">ID: ' . $id . '</span>'; } return $actions; } /** * Show last modified column for pages, posts and CPTs * * @since 7.4.0 */ public function hide_date_column() { foreach ( get_post_types() as $post_type ) { add_filter( 'manage_' . $post_type . '_posts_columns', [$this, 'remove_date_column'], 10, 1 ); } } /** * Add a column called Last Modified * * @since 7.4.0 */ public function remove_date_column( $columns ) { unset($columns['date']); return $columns; } /** * Hide comments column in list tables for pages, post types that support comments, and alse media/attachments. * * @since 1.0.0 */ public function hide_comments_column() { $post_types = get_post_types( array( 'public' => true, ), 'names' ); foreach ( $post_types as $post_type_key => $post_type_name ) { if ( post_type_supports( $post_type_key, 'comments' ) ) { if ( 'attachment' != $post_type_name ) { // For list tables of pages, posts and other post types add_filter( "manage_{$post_type_name}_posts_columns", [$this, 'remove_comment_column'] ); } else { // For list table of media/attachment add_filter( 'manage_media_columns', [$this, 'remove_comment_column'] ); } } } } /** * Add a column called ID * * @param mixed $columns * @return void * @since 1.0.0 */ public function remove_comment_column( $columns ) { unset($columns['comments']); return $columns; } /** * Hide tags column in list tables for posts. * * @since 1.0.0 */ public function hide_post_tags_column() { $post_types = get_post_types( array( 'public' => true, ), 'names' ); foreach ( $post_types as $post_type_key => $post_type_name ) { if ( $post_type_name == 'post' ) { add_filter( "manage_posts_columns", [$this, 'remove_post_tags_column'] ); } } } /** * Add a column called ID * * @param mixed $columns * @return void * @since 1.0.0 */ public function remove_post_tags_column( $columns ) { unset($columns['tags']); return $columns; } }
[-] class-hide-admin-bar.php
[edit]
[-] class-svg-upload.php
[edit]
[-] class-disable-gutenberg.php
[edit]
[-] class-cleanup-admin-bar.php
[edit]
[-] class-disable-rest-api.php
[edit]
[-] class-multiple-user-roles.php
[edit]
[-] class-disable-updates.php
[edit]
[-] class-image-upload-control.php
[edit]
[-] class-hide-admin-notices.php
[edit]
[-] class-content-duplication.php
[edit]
[-] class-insert-head-body-footer-code.php
[edit]
[-] class-media-replacement.php
[edit]
[-] class-password-protection.php
[edit]
[-] class-heartbeat-control.php
[edit]
[-] class-email-address-obfuscator.php
[edit]
[-] class-settings-sanitization.php
[edit]
[-] class-wp-config-transformer.php
[edit]
[-] class-content-order.php
[edit]
[-] class-custom-css.php
[edit]
[-] class-enhance-list-tables.php
[edit]
[-] class-login-logout-menu.php
[edit]
[-] class-search-engines-visibility.php
[edit]
[-] class-limit-login-attempts.php
[edit]
[-] class-disable-xml-rpc.php
[edit]
[-] class-common-methods.php
[edit]
[-] class-email-delivery.php
[edit]
[-] class-obfuscate-author-slugs.php
[edit]
[-] class-external-permalinks.php
[edit]
[-] class-wider-admin-menu.php
[edit]
[-] class-display-system-summary.php
[edit]
[-] class-admin-menu-organizer.php
[edit]
[-] class-redirect-fourofour.php
[edit]
[-] class-manage-robots-txt.php
[edit]
[-] class-site-identity-on-login-page.php
[edit]
[-] class-avif-upload.php
[edit]
[-] class-disable-comments.php
[edit]
[-] class-manage-ads-appads-txt.php
[edit]
[-] class-various-admin-ui-enhancements.php
[edit]
[-] class-admin-menu-svg-icon-mask.php
[edit]
[-] class-deactivation.php
[edit]
[-] class-activation.php
[edit]
[-] class-view-admin-as-role.php
[edit]
[-] class-maintenance-mode.php
[edit]
[-] class-custom-body-class.php
[edit]
[-] class-disable-dashboard-widgets.php
[edit]
[-] class-login-id-type.php
[edit]
[-] class-image-sizes-panel.php
[edit]
[-] class-redirect-after-login.php
[edit]
[-] class-settings-sections-fields.php
[edit]
[-] class-auto-publish-posts-with-missed-schedule.php
[edit]
[-] class-revisions-control.php
[edit]
[+]
..
[-] class-registration-date-column.php
[edit]
[-] class-disable-embeds.php
[edit]
[-] class-show-custom-taxonomy-filters.php
[edit]
[-] class-custom-nav-menu-items-in-new-tab.php
[edit]
[-] class-disable-feeds.php
[edit]
[-] class-captcha-protection.php
[edit]
[-] class-custom-admin-footer-text.php
[edit]
[-] class-change-login-url.php
[edit]
[-] class-last-login-column.php
[edit]
[-] class-settings-fields-render.php
[edit]
[-] class-disable-smaller-components.php
[edit]
[-] class-disable-author-archives.php
[edit]
[-] class-redirect-after-logout.php
[edit]
[-] class-open-external-links-in-new-tab.php
[edit]