Отключить другие плагины для моего пользовательского типа записи?

22 мар. 2011 г., 19:07:43
Просмотры: 845
Голосов: 2

Я создал плагин, который позволяет пользователям создавать очень простые лендинги для мобильных устройств.

Страницы, создаваемые моим плагином, относятся к пользовательскому типу записи.

Я хочу предоставить пользователям возможность "отключить все другие плагины на этой странице", чтобы предотвратить появление таких элементов, как кнопки Tweetmeme, Facebook Like и другого контента, генерируемого сторонними плагинами, внутри шаблона моего плагина.

Я добавил опцию, позволяющую пользователю предотвратить вызов wp_head, но что делать с теми плагинами, которые внедряют контент в других местах страницы, например, через фильтр the_content?

После написания этого вопроса я подумал, что комбинация подавления wp_head() плюс remove_all_filters('the_content') может сработать, но все же опубликую этот вопрос на случай, если у кого-то есть лучшие предложения.

Спасибо!

0
Все ответы на вопрос 2
0

Есть опция, которая возвращает массив всех плагинов в вашем блоге.

print_r( (array) get_option( 'active_plugins' ) );
22 мар. 2011 г. 19:18:00
0

Я предполагаю, что вы имеете в виду деактивацию через отключение. Деактивировать все плагины — не лучшая идея, это может иметь нежелательные последствия для сайта. Также я не думаю, что есть способ просто деактивировать плагин без вызова функции деактивации. Некоторые плагины при деактивации удаляют свои данные и настройки.

Если ваша единственная проблема — это кнопки Twitter, Facebook и другие подобные элементы, то да, удаление фильтров the_content должно решить задачу.

22 мая 2011 г. 01:38:44