WordPress add_filter проблема - PullRequest
0 голосов
/ 14 июля 2010

Я пытаюсь написать простой плагин для WordPress, но у меня есть проблема. это плагин:


function replace_css_php($text){
   return str_replace(".css",".php",$text);
}

add_filter('bloginfo', 'replace_css_php', 1, 1);
add_filter('bloginfo_url', 'replace_css_php', 1, 2);

проблема в том, что другие плагины (не мои плагины), добавили текст в шапку после меня. это означает, что только часть текста проходит replace_css_php, а не весь.

(функция replace_css_php - простой пример, а не в реальной жизни)

есть идеи?

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 июля 2010

Похоже, вы пытаетесь отфильтровать URL таблицы стилей?

В этом случае используйте более подходящий фильтр stylesheet_uri;

function replace_css_php($uri)
{
    return str_replace('.css', '.php', $uri);
}
add_filter('stylesheet_uri', 'replace_css_php');
0 голосов
/ 15 июля 2010

Вы хотели бы изменить порядок выполнения (приоритет) вашего фильтра:

add_filter ( 'hook_name', 'your_filter', [priority], [accepted_args] );

По умолчанию установлено значение 10, и вы устанавливаете приоритет обоих на 1, поэтому они перекрываются всем остальным на странице с более низким приоритетом. Установите значение приоритета на что-то гораздо более высокое, и оно должно работать.

...