Intereting Posts
Почему в представлении страницы WordPress по умолчанию не используется force_balance_tags? Как исключить «не классифицированный» из виджета настраиваемых категорий? wp_dropdown_categories с множественным выбором Выделите родительский пункт меню, когда ребенок не находится в меню Исключить post_type из admin comments_list rewrite_rules () не применяет правила активации плагина только после того, как щелкнуто меню постоянных ссылок Redeclare функция в дочерней теме Любой простой способ показать 10 предыдущих страниц по id на текущую страницу в ссылках в виде меню Комментарии к странице автора Как показать термины таксономии из базы данных wordpress? Изменение пользовательской постоянной ссылки с помощью фильтра Скрыть имя пользователя из списка пользователей Есть ли способ обслуживать разные изображения разрешения на разных устройствах? Обновление пользовательского мета См. Сообщение об ошибке из функции wp_insert_post?

Как интегрировать плагин в тему WordPress

Я прочитал, что есть два способа интеграции плагина в тему WordPress.

Я думаю, что первый метод – лучший; но я точно не знаю, как это сделать …

После копирования плагина в каталог плагина WordPress … Как включить его? Вы знаете другой способ сделать это?

Затем я раскрываю то, что я пытался сделать, чтобы вы могли доказать, правильно ли, что я думаю:

Первый метод: скопируйте мой плагин в wp-content / plugins.

  • Объединение плагина как есть, и использование кода для его копирования в папку плагинов и вызов функции activate_plugin для его установки.

Все, что я знаю, это копирование каталога плагинов:

 function recurse_copy($src,$dst) { $dir = opendir($src); @mkdir($dst); while(false !== ( $file = readdir($dir)) ) { if (( $file != '.' ) && ( $file != '..' )) { if ( is_dir($src . '/' . $file) ) { recurse_copy($src . '/' . $file,$dst . '/' . $file); } else { copy($src . '/' . $file,$dst . '/' . $file); } } } closedir($dir); } // I copy my plugin to wp-content/plugins recurse_copy($path."/plugins/myplugin_Directory", WP_PLUGIN_DIR . "/myplugin_Directory"); 

Второй способ: использовать мой плагин вместо плагинов внутри wp-content-plugins.

  • Использование копии плагина в папке темы и изменение ссылок ( путей ) ко всем зависимостям для использования ресурсов из каталога тем.

Пример для второго метода: ( поместите это в functions.php )

 add_action('after_setup_theme', 'load_MyPlugin'); function load_MyPlugin() { if (!class_exists('MyPluginClass')) { include_once(get_template_directory_uri() . '/plugins/myplugin_Directory/index.php'); } } 

Это зависит от того, что делает плагин, зависит ли ваша тема от него и является ли это вашим собственным плагином или нет.

Например, когда это плагин, который добавляет пользовательский тип сообщения со специальными страницами темы и т. Д. (Например, события или портфолио), вы должны интегрировать его в свою тему, используя свой второй метод.

С другой стороны, когда это плагин от внешнего разработчика (например, слайдер или что-то еще), вы должны позволить пользователю установить этот плагин в папку /wp-content/plugins (или скопировать его в папку плагинов). Приятная помощь здесь – активация плагина TGM , которая используется многими темами в наши дни. Он рекомендует плагины, от которых зависит ваша тема, и может даже устанавливать и активировать их автоматически. Он может установить их из репозитория WP или из папки, когда вы добавляете ZIP-файл в свою тему где-нибудь (например, в случае премиального плагина).