Основная проблема, описанная выше, заключается в том, что действие добавляется с использованием синтаксиса обратного вызова метода класса
array($this, 'display_customization')
, поэтому вы не можете удалить его, используя непосредственно имя функции
Здесь вы можете найти реализацию remove_class_action
и remove_class_filter
, которая позволяет удалять действия и фильтры, созданные с использованием синтаксиса класса.
После того, как приведенный выше код используется в вашем проекте с использованием следующего синтаксиса:
remove_class_action('wp_head', 'NameOfClassThatThisRefersToInControlsFile', 'display_customization');
Некоторые другие примечания:
remove_action
и remove_class_action
сверху должны иметь ту же подпись, что и действие добавления, поэтому, пожалуйста, оставьте приоритет таким же. Если вызов add не имеет приоритета, как указано выше (поэтому он имеет приоритет по умолчанию 10), оставьте вызов удаления таким же.
Другая проблема, с которой вы можете здесь столкнуться, заключается в том, чтобы убедиться, что вызовы remove_action или remove_class_action действительно вызываются после add_action.
В зависимости от того, где вызывается add_action, вам, возможно, придется поместить свой вызов remove в специфицированную c ловушку, чтобы убедиться, что вызов remove выполняется после вызова add.