Функции плагина Wordpress: проверьте, существует ли функция - PullRequest
1 голос
/ 14 января 2011

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

Плагин имеет несколько полезных функций, которые я использую в файлах шаблонов сайта.Когда плагин активен, все работает отлично.Если плагин деактивирован, контент не загружается.

Включение этих функций в if(function_exists(...), очевидно, исправляет это, но мне интересно, есть ли более чистый способ сделать это в Wordpress.Есть ли функция, которая может быть помещена в файл functions.php темы, которая может проверять, доступны ли эти функции каждый раз, когда я вызываю их, и если нет, то не обеспечивает безопасный запасной вариант без необходимости заключать их в функцию function_exists ()?*

Спасибо.

Ответы [ 3 ]

2 голосов
/ 14 января 2011

Если вы используете его экономно (1-2 раза), используйте if( function_exists() ).Если вы вызываете функцию несколько раз в разных файлах шаблонов, я бы предложил использовать что-то вроде

В вашем functions.php

function mytheme_related_posts( $someparams = nil ) {
  if( function_exists( 'related_posts' ) ) {
    related_posts( $someparams );
  } else {
    echo 'Please enable related posts plugin';
  }
}

Затем используйте mytheme_related_posts() в своем шаблоне.

0 голосов
/ 16 января 2011

Если вы хотите проверить, активен ли плагин, тогда вы должны использовать функцию is_plugin_active() - вы можете найти документы по адресу: http://codex.wordpress.org/Function_Reference/is_plugin_active

Затем вы также можете использовать if (function_exists ()) а так же, чтобы вдвойне убедиться :):

0 голосов
/ 14 января 2011

Я думаю, что это самый понятный способ.Это предотвращает все проблемы.Я думаю, что вместо этого вы можете написать функцию, которая будет проверять, доступны ли эти функции каждый раз, когда вы вызываете их, но я почти уверен, что это может принести вам больше хлопот и сжечь больше памяти, чем просто использование if (function_exist ()).Не забудьте ветку else, и она будет работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...