# adminify/3.1.6/Inc/Classes/CustomAdminColumns.php

Adminify – White Label, Admin Menu Editor, Login Customizer, version 3.1.6. 131 lines.

- Page: https://pluginprobe.com/plugins/adminify/3.1.6/code/Inc/Classes/CustomAdminColumns.php
- Raw: https://pluginprobe.com/plugins/adminify/3.1.6/raw/Inc/Classes/CustomAdminColumns.php
- Modified: 2023-11-01T08:36:22+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/adminify/3.1.6/code/Inc/Classes/CustomAdminColumns.php#L10-L20`.

```php
<?php

namespace WPAdminify\Inc\Classes;

use WPAdminify\Inc\Admin\AdminSettings;
use WPAdminify\Inc\Admin\AdminSettingsModel;

// no direct access allowed
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Post Columns: Featured Image and ID
 *
 * @package WP Adminify
 *
 * @author WP Adminify <support@wpadminify.com>
 */

class CustomAdminColumns extends AdminSettingsModel {

	public function __construct() {
		$this->options = (array) AdminSettings::get_instance()->get();
		add_action( 'admin_init', [ $this, 'adminify_taxonomy_id_column' ] );
		add_action( 'admin_init', [ $this, 'adminify_comments_id_column' ] );
	}

	/**
	 * Taxonomy ID Column
	 *
	 * @return void
	 */
	public function adminify_taxonomy_id_column() {
		// If not true then return
		if ( empty( $this->options['taxonomy_id_column'] ) ) {
			return;
		}
		// Restrict the custom column to specific tax_types
		$tax_types = [
			'category',
			'post_tag',
			'product_cat',
			'product_tag',
			'page_category',
			'page_tag',
			'recipe_category',
			'recipe_tag',
			'recipe_ingredient',
			'recipe_feature',
			'recipe_cuisine',
			'portfolio_category',
			'portfolio_tag',
			'portfolio_client',
		];

		if ( empty( $tax_types ) ) {
			return;
		}

		// Add custom column filter and action
		foreach ( $tax_types as $taxonomy ) {
			add_action( "manage_edit-{$taxonomy}_columns", [ $this, 'adminify_taxonomy_id_column_head' ] );
			add_filter( "manage_edit-{$taxonomy}_sortable_columns", [ $this, 'adminify_taxonomy_id_column_head' ] );
			add_filter( "manage_{$taxonomy}_custom_column", [ $this, 'adminify_taxonomy_id_column_content' ], 11, 3 );
		}
	}

	/**
	 * Taxonomy ID Head
	 *
	 * @param [type] $column
	 *
	 * @return void
	 */
	public function adminify_taxonomy_id_column_head( $column ) {
		$column['tax_id'] = esc_html__( 'ID', 'adminify' );
		return $column;
	}

	/**
	 * Taxonomy Column Content
	 *
	 * @param [type] $value
	 * @param [type] $name
	 * @param [type] $id
	 *
	 * @return void
	 */
	function adminify_taxonomy_id_column_content( $value, $name, $id ) {
		return 'tax_id' === $name ? $id : $value;
	}


	/**
	 * Comment ID Columns
	 *
	 * @return void
	 */
	public function adminify_comments_id_column() {
		// If not true then return
		if ( empty( $this->options['comment_id_column'] ) ) {
			return;
		}
		add_filter( 'manage_edit-comments_columns', [ $this, 'adminify_add_comments_columns' ] );
		add_action( 'manage_comments_custom_column', [ $this, 'adminify_add_comment_columns_content' ], 10, 2 );
	}

	public function adminify_add_comments_columns( $columns ) {
		$comment_columns = [
			'adminify_comment_id' => __( 'ID', 'adminify' ),
			'adminify_parent_id'  => __( 'Parent ID', 'adminify' ),
		];
		$columns         = array_slice( $columns, 0, 3, true ) + $comment_columns + array_slice( $columns, 3, null, true );
		// return the result
		return $columns;
	}

	public function adminify_add_comment_columns_content( $column, $comment_ID ) {
		global $comment;
		switch ( $column ) :
			case 'adminify_comment_id':
				echo esc_html( $comment_ID ); // or echo $comment->comment_ID.
				break;
			case 'adminify_parent_id':
				echo esc_html( $comment->comment_parent ); // this will be printed inside the column
				break;
		endswitch;
	}
}

```
