Существуют ли ограничения на дескрипторы фильтров?


Сегодня я просматривал код стороннего плагина и обнаружил, что они делают это:

add_filter('some_base_handle'.sanitize_title($string), ...)

Любопытно, так как я использовал xh_prof для поиска кода, который занимал слишком много времени, и был сбит с толку, почему было так много вызовов для очистки заголовка. Безопасно ли удалять заголовок sanitize_title или для этого есть веские причины?

Есть ли у кого-нибудь ссылки на документацию Кодекса, которые я мог пропустить по этому поводу? Я посмотрел на страницу add_filter но ничего не увидел.

ИЗМЕНИТЬ:

Я заглянул в wp-includes/plugins.php код, чтобы узнать, было ли что-нибудь, и не увидел ничего выдающегося, кто-нибудь знает?

function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 )      {
    global $wp_filter, $merged_filters;

    $idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);
    $wp_filter[$tag][$priority][$idx] = array('function' => $function_to_add,     'accepted_args' => $accepted_args);
     unset( $merged_filters[ $tag ] );
    return true;
}
Author: EdgeCaseBerg, 2014-04-15

1 answers

add_filter('some_base_handle'.sanitize_title($string), ...)

То, что он здесь делает, - это дескриптор фильтра переменных, и хотя "sanitize_title" может быть не совсем правильной функцией для использования здесь, это действительно зависит от возможных значений $string и источника этой $string.

Имена фильтров переменных могут быть удобны, если у вас есть много разных вещей, которые можно отфильтровать, и вы хотите иметь какой-то простой способ отфильтровать любой/все из них.

Функция sanitize_title не самая плохая для использования здесь, потому что она в основном форматирует произвольные строки, чтобы они подходили для URL-адресов, заменяя пробелы тире, все в нижнем регистре, удаляя акценты и тому подобное. Может быть, не самый лучший, но опять же, зависит от конкретного случая.

 1
Author: Otto, 2014-04-15 20:52:16