Тема хорошего дизайнера должен избегать необходимости полагается на сторонних плагинов. Есть плагин деактивирована
К сожалению, некоторые из WordPress тема имеет "серьезных до головной боли" для плагина зависимостей разбивка sydrome. В связи с этим ООН удобной тенденции там дерьмо неизбежно произойдет, когда конкретные плагин не поддерживают должным образом или по определенным случае внезапной WordPress обновить сделать плагин бесполезно (это произошло многое, если предыдущий релиз РГ 2.3). Чтобы сделать его хуже, некоторые невежественные-конечному пользователю решить, "не" обновить свои WordPress блога, так как их избранном тем в данном конкретном плагины, которые будут работать только с предыдущей версии уязвимости WordPress И, таким образом, никогда не заканчивающийся котировки начать войну.
Тема Плагин с зависимостями
С битье списки "10 свежих, элегантных и чистых Wordpress Темы" есть 3 из 10 Тема с плагинами зависимостей вопрос. Эти три человека является опытным темы дизайнера. Сколько Тема WordPress с плагином зависимостей это там?
Так что в точке с чистой И элегантный тему, если она не правильно работать, и бросить "Критическая ошибка", когда определенные плагин отключается.
Аналогичная проблема
Прежде чем вы спросили, почему нужно писать лучше плагин поддержки образом по следующим статьям в ЦМТ.
- Плагин деактивации вопросов Рональд Huereca
- Если плагин деактивации Перерывы блоге Джефф Чандлер Jeffro2pt0.
Введение
Это руководство предназначено для WordPress намерениях тема дизайнера в надежде на улучшение качества теме и избегать плагин зависимостей.
Wordpress Крюк
Поскольку это "Краткое руководство" так что я обычно охватывают широкий этой темы. Он может принимать порой понять концепцию прежнему стоит его время. Вы можете читать ее на WordPress Кодекса ↓
Избегайте зависимостей плагина наилучшей практики руководства
Давайте предположим вы хотите добавить Лестер Чан передовых пагинации плагин (РГ-pagenavi) в вашей теме.
Запасной функции
1) Прежде всего, мы создали функцию по умолчанию для страниц навигации ссылки (следующая И предыдущую страницу ссылки). Сохраненн она внутри functions.php в вашей теме папку / wp-content/themes/mytheme /.
functions.php
Функция wpi_post_link () ( next_posts_link (__('« Пожилые Конкурсные работы ',' mytheme название ')); Эхо ''; previous_posts_link (__(' Позже Конкурсные » ',' mytheme название ')); )
Совет: чтобы избежать дублирует функции имя конфликта, его эффективной практике иметь свой собственный уникальный префикс для названия функции (например, wpi_get_time, themename_foo)
И HTML действий Крюк Размещение
2) Далее мы присоединяем свой пагинации крючком (wpi_pagination) внутри index.php шаблонов (И аналогичные шаблоны файлов т.е. home.php, category.php, archive.php).
index.php
<! - Пагинации -> <div id="pagination" class="border clear-both"> <? PHP do_action ( 'wpi_pagination');?> </ DIV>
Пример использования по умолчанию (Кубрика) Тема WordPress index.php шаблоны файлов.
(Кубрика) index.php
<? PHP get_header ();?> <div id="content" class="narrowcolumn"> <? PHP, если (have_posts ()):?> <? PHP, хотя (have_posts ()): the_post ();?> <Div класс = "должность" ID = "пост-<? PHP the_ID ();?>"> <h2> <A HREF = "<? PHP the_permalink ()?>" Rel = "закладка" Title = "Постоянная ссылка на <? PHP the_title_attribute (); ?>"><? PHP the_title ();?> </ > </ h2> <small> <? PHP the_time ( 'F JS, Y')?> <! - по <? PHP the_author ()?> --></ небольшой> <div class="entry"> <? PHP the_content ( 'Прочитать остальные этого вступления »');?> </ DIV> <p class="postmetadata"> <? PHP the_tags ( 'Метки:', ',', '<br />');?> Опубликовано в <? PHP the_category ( ',')?> | <? PHP edit_post_link ( 'Редактировать','', '|');?> <? PHP comments_popup_link ( 'No Comments »','1 комментарий» ','% Comments » ');?> </ P> </ DIV> <? PHP endwhile;?> <! - Пагинации -> <div id="pagination" class="border clear-both"> <? PHP do_action ( 'wpi_pagination');?> </ DIV> <? PHP остальное:?> <h2 class="center"> Не найдено </ h2> <p class="center"> Извините, но вы ищете что-нибудь не здесь. </ P> <? PHP включают (TEMPLATEPATH. "/ searchform.php");?> <? PHP ENDIF;?> </ DIV> <? PHP get_sidebar ();?> <? PHP get_footer ();?>
Плагин является активным (опционально)
3) Для ранних версий WordPress (версии 2.3.x И ниже) вам нужно будет добавить следующую функцию.
functions.php
если (version_compare ($ GLOBALS [ 'wp_version'],'2 .5 ',' LT ')) ( Функция is_plugin_active ($ plugin_filename) ( $ плагины = get_option ( 'active_plugins'); если (! is_array ($ плагинов)) settype ($ плагинам, 'массив'); возвращение (in_array ($ plugin_filename, $ плагинов)); ) )
Регистрация действий Крюк
4) Откройте wp-content/themes/mytheme/functions.php и добавьте ниже код.
functions.php
add_action ( 'wpi_pagination', (Is_plugin_active ( 'wp-pagenavi/wp-pagenavi.php'))? 'wp_pagenavi': 'wpi_post_link');
Скачать пример кода
Заключение
Если Вы находитесь в одной из этих стремящихся РГ тема дизайнера "делают попытки" не зависеть от сторонних плагинов и избежать, используя ниже фразы, если это возможно
"Требуются следующие подключаемые модули для работы ..."
Публикации тема должна быть "чистой из плагинов зависимостей", и позволить конечному пользователю решить, какие плагины они нуждаются и должны иметь.
Внешние ссылки










4 Ответы на "Темы плагин зависимостей"
Удивительная статья - Вы совершенно правы.
[Ответить]Привет
Я пытаюсь использовать ваш код на мой тестовый сайт, но у меня есть сообщение об ошибке сказав: вызов неопределенная функция "is_plugin_active" в functions.php
Я попробовать разные вещи, но без успеха.
Прошу прощения за мой бедный английский,
[Ответить]Мишель.
@ micheal, если вы используете Wordpress Версия менее 2,5 вы должны добавить следующий код внутри вашей темы functions.php
[Ответить]Благодаря CK
но я всегда имеют то же сообщение:
Неисправимая ошибка: Вызов функции с неопределенным is_plugin_active () в C: \ XAMPP \ htdocs \ Wordpress \ WP-контентом \ темы \ Veritas \ functions.php на линии 27
PS: Я использую WP 2.6 на местном установки (XAMPP).
Есть хороший день.
[Ответить]Если Вы хотите прокомментировать, пожалуйста, прочтите следующие рекомендации. Они предназначены для защиты вас и других пользователей сайта.
Для того, чтобы сохранить этот опыт приятным и интересным для всех наших пользователей, мы спрашиваем, что вы выполните выше Инструкция. Вы можете принять участие, задавать вопросы, и расскажите нам, что вы думаете! проницательные замечания наиболее приветствовали.
Подписаться на эту дискуссию через RSS
Таксономия
Большинство используемых терминов