Title: Как переопределить Pluggable Functions
Last modified: 07.04.2011

---

# Как переопределить Pluggable Functions

 *  Решено [egorpromo](https://ru.wordpress.org/support/users/egorpromo/)
 * (@egorpromo)
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/)
 * Не могу переопределить функцию, из так называемых «Pluggable Functions», список
   которых есть на этой странице: [http://codex.wordpress.org/Pluggable_Functions](http://codex.wordpress.org/Pluggable_Functions)
   
   Я так понимаю, что эти функции загружаются после того, как загружны плагины, 
   поэтому их можно перепределить в своих плагинах. Делаю такой плагин:
 *     ```
       <?php
       /*
       Plugin Name: april
       */
       function get_userdata()
       {
       	echo 'Мухаха! Такой функции больше не существует!';
       }
       ?>
       ```
   
 * но в результате при попытке активировать плагин я получаю в админ-модуле вордпрессе
   такое сообщение:
 * Plugin could not be activated because it triggered a fatal error.
 * Fatal error: Cannot redeclare get_userdata() (previously declared in Z:\home\
   localhost\www\wordpress\wp-includes\pluggable.php:103) in Z:\home\localhost\www\
   wordpress\wp-content\plugins\april.php on line 10
 * Что я сделал не так?
    Версия вордпресса 3.1

Просмотр 6 ответов — с 1 по 6 (всего 6)

 *  Модератор [Sergey Biryukov](https://ru.wordpress.org/support/users/sergeybiryukov/)
 * (@sergeybiryukov)
 * Live and Learn
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39632)
 * Дело в том, что в момент активации плагина ещё существует функция, определённая
   в `wp-includes/pluggable.php`. Нужно добавить проверку:
 *     ```
       <?php
       /*
       Plugin Name: april
       */
       if ( !function_exists('get_userdata') ) :
       function get_userdata()
       {
       	echo 'Мухаха! Такой функции больше не существует!';
       }
       endif;
       ?>
       ```
   
 *  Автор [egorpromo](https://ru.wordpress.org/support/users/egorpromo/)
 * (@egorpromo)
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39635)
 * Ничего не понял 🙁
    Я так понимаю, что на странице «Pluggable Functions» находятся
   функции, которые можно переопределять в своих плагинах.В первом абзаце так и 
   написано: «These functions let you override certain core functions via plugins.»
   И в функции, например этой: [http://codex.wordpress.org/Function_Reference/set_current_user](http://codex.wordpress.org/Function_Reference/set_current_user)
   есть надпись, что её можно переопределить в плагине. Что я и пытаюсь сделать.
   Что я не понимаю в этих функциях?
 *  Модератор [Sergey Biryukov](https://ru.wordpress.org/support/users/sergeybiryukov/)
 * (@sergeybiryukov)
 * Live and Learn
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39636)
 * > Я так понимаю, что на странице «Pluggable Functions» находятся функции, которые
   > можно переопределять в своих плагинах.
 * Верно. Вы пробовали активировать предложенный мной вариант?
 *  Автор [egorpromo](https://ru.wordpress.org/support/users/egorpromo/)
 * (@egorpromo)
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39640)
 * Нет. Но результат будет таким: Ошибки не будет, а функция get_userdata() останется
   такой же, как и была в вордпрессе до моего плагина. А мне нужно, чтобы эта функция
   заменилась на мою. Разве не так?
 *  Модератор [Sergey Biryukov](https://ru.wordpress.org/support/users/sergeybiryukov/)
 * (@sergeybiryukov)
 * Live and Learn
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39642)
 * > Разве не так?
 * Нет. Вы попробуйте 🙂
 *  Автор [egorpromo](https://ru.wordpress.org/support/users/egorpromo/)
 * (@egorpromo)
 * [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39698)
 * > Нет. Вы попробуйте 🙂
 * Уже пробовал 🙂 Переустанавливал свой вордпресс, пока не понял, в чём проблема.
   
   Sergey Biryukov правильный совет дал, спасибо!

Просмотр 6 ответов — с 1 по 6 (всего 6)

 Тема «Как переопределить Pluggable Functions» закрыта для новых ответов.

 * Форум: [Плагины](https://ru.wordpress.org/support/forum/plugins-and-hacks/)
 * 6 ответов
 * 2 участника
 * Последний ответ: [egorpromo](https://ru.wordpress.org/support/users/egorpromo/)
 * Последняя активность: [15 лет, 6 месяцев назад](https://ru.wordpress.org/support/topic/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-pluggable-functions/#post-39698)
 * Статус: решённая

## Темы

### Самые популярные темы

### Темы без ответов

### Без вопроса

### Решённые

### Нерешённые

### Все темы
