add_filter не работает как ожидалось
У меня есть плагин WordPress, где я включил этот код (с некоторыми изменениями)
$fep_files = array(
'first' => 'first.php',
'second' => 'second.php'
);
$fep_files = apply_filters('include_files', $fep_files );
foreach ( $fep_files as $fep_file )
require_once ( $fep_file );
unset ( $fep_files );
Теперь я добавил в function.php своей темы
function fep_remove ( $fep_files )
{
if ( isset ( $fep_files['first'] ) ) {
unset ( $fep_files['first'] );
}
//die($fep_files); //для проверки срабатывания
return $fep_files;
}
add_filter( 'include_files', 'fep_remove' );
Это должно удалить first.php, но этого не происходит. Где я ошибся? Есть ли лучший способ подключения файлов, где пользователь может включать/исключать любые файлы при необходимости?

Думаю, некоторые ответы здесь нуждаются в обновлении. (Просто на будущее, когда я или другие пользователи будем искать ответ на этой странице).
Порядок загрузки плагинов, по-видимому, зависит от типа установки WordPress. Если у вас мультисайтовая установка (Multisite), то плагины действительно обрабатываются в порядке их активации.
Однако в одиночной установке WordPress они активируются в алфавитном порядке. Поэтому, если у вас возникает проблема, когда вам нужно обновить фильтр инициализации или действие для другого плагина, лучше всего назвать свой плагин так, чтобы он начинался с подчеркивания.
Например: _my_custom_plugin/my_custom_plugin.php
Для справки см. строки 704-713 в файле wp-admin/includes/plugin.php

Код вашего плагина будет выполняться до кода темы и, следовательно, запустится до того, как что-либо будет добавлено в хук. Вам нужно перенести код, обрабатывающий включение файла, на другой хук, который выполняется после загрузки всех плагинов, например, after_setup_theme
.
Это может помочь: Существует ли блок-схема последовательности загрузки WordPress?

Предыдущий ответ был хорош в плане порядка, но я не смог разобраться, как заставить работать фильтр/хук с теми инструкциями.
Моим решением стало создание кастомного плагина, содержащего фильтр, и убедиться, что он находится в алфавитном порядке перед плагином, содержащим фильтр, к которому я хочу добавиться.
Другими словами, поместите код в plugings/a-custom-plugin.php
, начиная файл с:
<?php
/*
Plugin Name: Мой кастомный плагин
*/
