Модификация файлов ядра WordPress

Почему плохая идея менять основные файлы WordPress? Как измененное ядро повлияет на рабочие процессы, такие как обновление?

Понравилась статья? Поделиться с друзьями:
WPAsk
Ответов: 3
  1. Wadih M.

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

  2. EAMann

    Если вы должны взломать ядро, рассмотрите возможность сделать это таким образом, чтобы сделать его расширяемым для других.

    Добавить хук действий

    В девяти случаях из десяти вы могли бы делать то, что хотели, если бы в конкретном файле был дополнительный вызов do_action . В этом случае добавьте действие, задокументируйте его и отправьте исправление с помощью Trac . Если для вашего патча есть веская причина (т.е. Вы не единственный, кто его использует), то, вероятно, вы можете добавить его в ядро.

    Затем создайте пользовательский плагин (вам не нужно его выпускать / распространять!), который подключается к этому новому хуку и выполняет все функции, которые вам нужны.

    Рефакторинг основного файла

    В других случаях вам может понадобиться фрагмент кода, который будет вести себя по-другому. Например, передавайте переменную по ссылке или возвращайте значение, а не выводите его. Потратьте некоторое время, чтобы сесть и реорганизовать код так, чтобы он делал то, что вам нужно … затем отправьте патч через Trac , чтобы остальные могли извлечь выгоду из вашей работы.

    Взлом ядра — это способ разработки и развития WordPress, но он опасен для тех, кто только изучает PHP или не имеет опыта работы с файлами WP. Пожалуйста, начните с плагина, прежде чем трогать ядро ​​- если вы сломаете плагин, вы можете удалить его быстро (удалив через FTP, если это необходимо) … но если вы сломаете ядро, сайт может «поломаться».

  3. Dan Smart

    Проблемы:

    1. Каждый раз, когда вы обновляете ядро ​​(например, из-за исправления безопасности и т. д.), вам придется обновлять его вручную, а не запускать автоматическое обновление.
      Если вы хотите это сделать, то облегчите себе жизнь:

      • помечать каждое изменение общим маркером (например, // PATCH START и // PATCH END )
      • используйте инструмент, такой как WinMerge, чтобы сравнить существующий источник с новым источником и скопировать необходимые изменения.
      • вам нужно следить за тем, чтобы область кода, которую вы копируете, изменились, и вносить соответствующие изменения в ваши патчи
      • имейте в виду, что это «бесконечная» работа.
    2. Вы можете вызвать проблемы несовместимости с плагинами, которые ожидают, что ядро ​​будет функционировать определенным образом — это потребует дополнительного тестирования

    Иногда это на 100% неизбежно, но я почти всегда могу придумать другой способ достижения цели или изменить спецификацию из-за вероятной стоимости времени, потраченного на это. Это просто кошмар обслуживания, и многие люди предпочитают взламывать ядро, а не искать правильное решение.

Добавить ответ

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: