К сожалению, из Вашего ответа я так и не понял, как нужно сделать... Почему бы в инструкции не написать строку полностью, которую нужно вставить и показать итоговый результат на скриншоте?
Я сделал как написано в инструкции вашей. Нашел функцию function fn_seo_dispatch_before_display() и добавил в её тело строку - fn_set_hook('ab__seo_canonical', $seo_canonical, $runtime, $base_url, $is_valid); Тело функции в моем понимании, находится между ( ...тут_тело... )
У меня код в файле func.php выглядит так -
http://prntscr.com/hdcqg4, то есть строка такая - function fn_seo_dispatch_before_display().
А у Вас в инструкции на итоговом скриншоте уже вообще нет слова "function", хотя нигде не писалось что нужно это слово удалить.
Также на итоговом скриншоте добавлено слово "hook_name:", хотя опять же про это в инструкции ни слова... И непонятно что все нужно добавить, а что удалить...
Отсюда снова уточняющие вопросы:
1) В строке "function fn_seo_dispatch_before_display()" слово "function" нужно удалить?
2) Вместо "fn_seo_dispatch_before_display()" мне нужно прописать "fn_set_hook('ab__seo_canonical', $seo_canonical, $runtime, $base_url, $is_valid);)"?
3) В строку нужно вставлять слово "hook_name:" - оно есть на итоговом скриншоте...
4) Какую все же итоговую строку я должен вставить вместо строки "function fn_seo_dispatch_before_display()"
Я пробовал разные варианты - и все равно ошибка всегда:
function fn_seo_dispatch_before_display('ab__seo_canonical', $seo_canonical, $runtime, $base_url, $is_valid);)
function fn_set_hook(hook_name:'ab__seo_canonical', $seo_canonical, $runtime, $base_url, $is_valid);)
function fn_set_hook('ab__seo_canonical', $seo_canonical, $runtime, $base_url, $is_valid);)