English (United Kingdom)
Knowledge Base  >  Vik Appointments  >  Hooks  >  System  >  Visualization  >  Display Table Head

apply_filters( 'vikappointments_display_{$page}_table_th', mixed $head, JView $viewarray $config )

Fires while displaying the table head of a specific entity.


Description

This hook is triggered within the list pages of certain sections of the plugin. It is possible to use this hook to include additional columns with list tables.

DO NOT include a th tag because it is automatically added by the system. Lean on data-id attribute for individual styling.

The dynamic portion of the hook name, $page, refers to the name of the page calling the hook. This means that, for example, the services page will trigger an hook called vikappointments_display_services_table_th.

IMPORTANT NOTE: not all the pages trigger this hook. Before to start coding a plugin, you should make sure that the page supports that hook, by checking whether the onDisplayTableColumns() method is used. This can be done by accessing the page at the path:

/wp-content/plugins/vikappointments/admin/views/{$page}/tmpl/default.php
(back-end pages)

Parameters

$head

(array|null)  An associative array containing the new columns to include. The key of the array should be a unique identifier to correctly pair the head with the body. The value of the array should be the legend to display.

At the first hook execution, the argument may be a null value.

$page

(JView)  The page instance holding the record details.

$config

(array)  An associative array of options.


Example

The example below displays the difficulty column within the services table.

It is assumed that the database table of the services already declares a column to hold the difficulty level, such as difficulty.

/**
 * Trigger hook to allow the plugins to include custom <TH> within the table. 
 * The hook must return an associative array where the key is the identifier
 * of the column and the value is the HTML to use.
 *
 * @param  mixed  $head    An associative array of columns.
 * @param  mixed  $view    The current page instance.
 * @param  array  $config  A configuration array.
 */
add_filter('vikappointments_display_services_table_th', function($head, $view, $config)
{
    if (!$head)
    {
        $head = array();
    }

    // include "Difficulty" column
    $head['difficulty'] = __('Difficulty', 'my-plugin');

    return $head;
}, 10, 3);

Changelog

Version Description
1.2 Introduced.
Last Update: 2021-10-10
Helpful?