Темы плагин зависимостей действий и крючком

  • Wordpress theme plugin dependencies Тема хорошего дизайнера должен избегать необходимости полагается на сторонних плагинов.

    Есть плагин деактивирована

    кролик К сожалению, некоторые из WordPress тема имеет "серьезных до головной боли" для плагина зависимостей разбивка sydrome. В связи с этим ООН удобной тенденции там дерьмо неизбежно произойдет, когда конкретные плагин не поддерживают должным образом или по определенным случае внезапной WordPress обновить сделать плагин бесполезно (это произошло многое, если предыдущий релиз РГ 2.3).

    Чтобы сделать его хуже, некоторые невежественные-конечному пользователю решить, "не" обновить свои WordPress блога, так как их избранном тем в данном конкретном плагины, которые будут работать только с предыдущей версии уязвимости WordPress И, таким образом, никогда не заканчивающийся котировки начать войну.

    Тема Плагин с зависимостями

    С битье списки "10 свежих, элегантных и чистых Wordpress Темы" есть 3 из 10 Тема с плагинами зависимостей вопрос. Эти три человека является опытным темы дизайнера. Сколько Тема WordPress с плагином зависимостей это там?

    Так что в точке с чистой И элегантный тему, если она не правильно работать, и бросить "Критическая ошибка", когда определенные плагин отключается.

    Аналогичная проблема

    Прежде чем вы спросили, почему нужно писать лучше плагин поддержки образом по следующим статьям в ЦМТ.


    Введение

    Это руководство предназначено для 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 Ответы на "Темы плагин зависимостей"

    • Мишель фото
    • RE: Темы плагин зависимостей
      url · microId 4 месяца, 3 недели назад, на 2:38 AM 3 URL microId

      Привет
      Я пытаюсь использовать ваш код на мой тестовый сайт, но у меня есть сообщение об ошибке сказав: вызов неопределенная функция "is_plugin_active" в functions.php

      Я попробовать разные вещи, но без успеха.

      Прошу прощения за мой бедный английский,
      Мишель.

      [Ответить]
    • CK фото
    • RE: Темы плагин зависимостей
      url · microId 4 месяца, 3 недели назад, на 3:11 AM 3 URL microId

      @ micheal, если вы используете Wordpress Версия менее 2,5 вы должны добавить следующий код внутри вашей темы functions.php

        Функция is_plugin_active ($ plugin_filename) ( 
         $ плагины = get_option ( 'active_plugins'); 
         если (! is_array ($ плагинов)) settype ($ плагинам, 'массив'); 
         возвращение (in_array ($ plugin_filename, $ плагинов)); 
        ) 
      [Ответить]
    • Мишель фото
    • RE: Темы плагин зависимостей
      url · microId 4 месяца, 3 недели назад, в 11:14 ч. 3 URL microId

      Благодаря CK
      но я всегда имеют то же сообщение:

      Неисправимая ошибка: Вызов функции с неопределенным is_plugin_active () в C: \ XAMPP \ htdocs \ Wordpress \ WP-контентом \ темы \ Veritas \ functions.php на линии 27

      PS: Я использую WP 2.6 на местном установки (XAMPP).

      Есть хороший день.

      [Ответить]
    • сталкер фото Kaizeku Пан
    • Темы плагин зависимостей - 'Комментарий Правила' ↓
      url 6 месяцев, 3 недели назад в воскресенье, 8 июня, 2008 в 11:06 утра 5 URL

      Если Вы хотите прокомментировать, пожалуйста, прочтите следующие рекомендации. Они предназначены для защиты вас и других пользователей сайта.

      1. Будьте соответствующие: Ваш комментарий должен быть продуманный вклад в предмет вступления. Храните ваши замечания, конструктивную и вежливы.
      2. Нет рекламы или спам: Не используйте комментарии функцию по содействию коммерческих структур / продукты, услуги или аффилированные сайты. Вы можете разместить ссылку до тех пор, как он, имеющих отношение к вступлению.
      3. Хранить в рамках закона: Не ссылки на оскорбительные или незаконные содержания веб-сайтов. Не делать каких-либо клеветнических или уничижительные комментарии, которые могут нанести ущерб репутации того или иного лица или организации.
      4. Безопасность: Не размещайте какие-либо личной информации о себе или кому-либо еще (например, адрес, место работы, телефон или номер мобильного телефона или адрес электронной почты).

      Для того, чтобы сохранить этот опыт приятным и интересным для всех наших пользователей, мы спрашиваем, что вы выполните выше Инструкция. Вы можете принять участие, задавать вопросы, и расскажите нам, что вы думаете! проницательные замечания наиболее приветствовали.

Подписаться на эту дискуссию через RSS

"писать, как если бы вы разговаривали с хорошим знакомым (у вашей матери).

. сказать свое слово

Ограничение ответственности: В любое содержание, которое вы размещаете, Вы тем самым предоставляете Kaizeku Пан роялти, безотзывное, постоянное, эксклюзивные и сублицензируемое на использование, воспроизведение, модификацию, адаптацию, публикацию, перевод, создание производных работ, распространение, выполните и отображение такого содержания в целом или частично, во всем мире, и включить его в другие произведения в любой форме, в средствах массовой информации или технологий в настоящее время известны или более поздней разработки. Некоторые права защищены.