backend_tasks

Позволяет добавлять дополнительное содержимое в списки задач и в общие навигационные блоки (фильтры) над списком.

Доступно начиная с версии 1.0.0.

Задачи

Входящие параметры (передаются по ссылке)

$params['hash'] string Хеш-строка с обозначением списка задач.
$params['order'] string Поле сортировки задач из списка: 'priority' (приоритет), 'due' (дедлайн), 'newest' (новые), 'oldest' (старые).
$params['filters'] string Параметры фильтрации задач.
$params['tasks'] array Список задач. Каждый элемент списка — экземпляр класса tasksTask, соответствующий каждой из задач в списке.
… код плагина …

Результат работы плагина

{$backend_tasks.header.top}
Дополнительное содержимое, отображаемое внутри элемента <header> в верхней части списка задач.
{$backend_tasks.header.filters}
HTML-код дополнительных элементов <li>, расширяющих настройки фильтра задач. Настройки фильтра, добавленные плагином, должны добавлять в URL списка задач собственные параметры, значения которых нужно обрабатывать в хуке tasks_collection_search, например: #/tasks/myplugin_create_date>2023-12-25&hash=inbox/.
{$backend_tasks.header.preview}
Дополнительное содержимое, отображаемое между названием списка задач и настройками фильтра.
{$backend_tasks.header.toolbar}
HTML-код, добавляющий дополнительные элементы управления списком задач рядом с флажком «Выбрать задачи».
{$backend_tasks.header.bottom}
Дополнительное содержимое, отображаемое внизу верхнего блока с названием и настройками списка задач.
{$backend_tasks.header.order_items}
Список дополнительных вариантов сортировки задач. Каждый элемент списка — массив со следующими ключами:
[]['id'] string Идентификатор варианта сортировки.
[]['name'] string Локализованное название варианта сортировки.
{$backend_tasks.body.top}
Дополнительное содержимое, отображаемое в верхней части списка задач.
{$backend_tasks.body.bottom}
Дополнительное содержимое, отображаемое в нижней части списка задач.
Задачи

Пример кода плагина

PHP

public function backendTasks($params)
{
    // $tasks = $params['tasks'];

    return [
        'body' => [
            'top' => 'Custom content at the top',
            'bottom' => 'Custom content at the bottom',
        ],
        'header' => [
            'top' => 'Custom content at the header top',
            'preview' => 'Custom content above the filter settings',
            'toolbar' => sprintf(
                '<a href="javascript:void(0);" class="circle button light-gray" title="%s"><i class="fas fa-star"></i></a>',
                _wp('Execute a custom action')
            ),
            'filters' => tasksMyPluginHelper::getFiltersHTML(),
            'order_items' => [
                [
                    'id' => $this->id . '-custom',
                    'name' => _wp('Custom sorting'),
                ]
            ],
        ],
    ];
}