È necessario in ogni caso modificare Wordpress oltre a scrivere plugin e temi?

StackOverflow https://stackoverflow.com/questions/203543

  •  03-07-2019
  •  | 
  •  

Domanda

Di recente ho dovuto lavorare su un progetto in cui lo sviluppatore precedente aveva modificato la directory wp-admin. Mi sembra una cattiva idea, dal momento che Wordpress è costantemente aggiornato. Non sono solo a quel livello di competenza con la modifica di Wordpress?

È stato utile?

Soluzione

Essendo open source, penso che sia una cosa comune che software come WordPress vengano modificati ed estesi in qualsiasi momento.

Modificare o non modificare è una scelta tra compromessi. Le nuove funzionalità possono essere incapsulate come moduli, il che può forse rendere la loro funzionalità meno integrata di quanto desiderato. Tuttavia, l'integrazione completa delle modifiche può ostacolare un facile aggiornamento del software quando vengono rilasciate nuove versioni.

È necessario che qualcuno abbia molta familiarità con il software per modificarlo direttamente, ma questa non è necessariamente una cattiva idea.

In una nota a margine, penso che modificare WordPress sia quasi una necessità, specialmente se vuoi che abbia un'architettura decente o sia effettivamente sicuro (ok, quello era un jab, fammi causa).

Altri suggerimenti

Beh, è ??una cattiva idea solo perché significa che ora sei responsabile del mantenimento di un fork interno defacto ... ogni volta che WordPress rilascia un aggiornamento, devi fare una differenza a tre vie per unire le tue modifiche al nuovo " reale " WordPress. (Diff a tre vie significa che fai una differenza tra il tuo fork della vecchia versione e la vecchia versione standard per creare un set di patch, quindi applica quel set di patch alla nuova versione.) Dovresti anche usare un VCS per mantenerti sano di mente.

Se non sei all'altezza, non sei all'altezza, non c'è niente di sbagliato nel seguire il principio KISS e nel non confondere il codice dell'applicazione.

Se riesci a scrivere un plugin che fa la stessa cosa e lo fa in modo altrettanto efficiente, allora dovresti farlo in modo da non dover mantenere il tuo fork.

Tuttavia, ci sono molte cose in cui WordPress è terribile (efficienza, sicurezza) che puoi migliorare (a volte senza molto lavoro, semplicemente disabilitando il codice che non ti serve) solo hackerando il codice dell'applicazione. WordPress è un codice spaghetti legacy sporco originariamente scritto da persone con una conoscenza praticamente nulla del software o della progettazione di database e fa molte cose tremendamente stupide come interrogare il database su ogni richiesta per vedere di cosa si tratta siteurl è, quando questo non cambia mai - non c'è niente di sbagliato nel prendere 5 minuti per cambiare 2 righe di codice, quindi non lo fa più.

Ho lavorato come responsabile tecnico in un blog tra i primi 20 in classifica su Technorati e ho lavorato molto per ridimensionare WordPress su un singolo server e poi su un cluster (con server separati per l'amministratore rispetto all'accesso pubblico). Avevamo proxy inversi a monte (cioè Varnish o Squid) che fungevano da acceleratori HTTP e un sistema interno di cache di frammenti di pagina / oggetto che si collegava in memcached con failover alla cache del filesystem usando PEAR :: Cache_Lite. Abbiamo dovuto modificare WordPress per fare cose come inviare intestazioni HTTP sane e compatibili con la cache, per disabilitare un sacco di elaborazione ed elaborazione SQL non necessarie.

Ho modificato WP per essere eseguito utilizzando il motore di archiviazione cluster NDB solo memoria di MySQL, il che significava specificare gli indici in molte query (alla fine abbiamo optato invece per un cluster replicato). Modificandolo per l'esecuzione con server separati per l'amministratore rispetto all'accesso pubblico, abbiamo bloccato la versione lato pubblico in modo che funzionasse con privilegi MySQL molto ridotti che consentivano solo letture (un terzo utente MySQL ha ottenuto i privilegi di commento).

Se hai un grave problema di spam nei commenti (ovvero 10K / ora), allora devi fare qualcosa oltre i plugin. Lo spam ti DOS perché WordPress che inizializza il suo core è qualcosa come mezzo secondo su un P4 autonomo senza concorrenza, e poiché WP è un hairball di codice non c'è modo di fare nulla senza inizializzare prima il core.

" WP-Cron " è braindead e dovrebbe essere disabilitato se si ha accesso a un crontab effettivo per eseguire queste funzioni. Non è difficile da fare.

In breve, potrei continuare a elencare per sempre i motivi per cui potresti voler apportare modifiche.

Ovviamente, per ragioni di manutenibilità, era un obiettivo mantenere queste modifiche al minimo e documentarle nel modo più chiaro possibile, e abbiamo implementato molti plug-in quando aveva senso.

In una combinazione blog / forum, abbiamo violato la procedura di iscrizione in modo che le persone compilassero un modulo per iscriversi sia a WordPress che a phpBB contemporaneamente. Sono sicuro che c'è un modo migliore per farlo con i plugin, ma ha avuto un vantaggio inaspettato: confonde davvero gli spambots. Pur avendo diversi di loro registrati ogni giorno, abbiamo avuto circa due messaggi spam nella vita del forum.

Non qualcosa che consiglierei, ovviamente - ci impedisce di aggiornare entrambi i software.

Tendo a sostenere con forza la modifica del codice di base, se possibile, specialmente in un progetto che aggiorna come WordPress. Se WordPress non può essere fatto per fare ciò di cui hai bisogno con plugin e simili, probabilmente stai meglio con un sistema più estensibile / generico come Drupal. L'hacking di un CMS orientato ai blog in qualcos'altro potrebbe non valerne la pena.

Nelle versioni precedenti di WordPress (1.0 e persino nei primi 2.0), non avrei fatto attenzione a modificare WordPress stesso.

Tuttavia, l'architettura di WordPress è maturata. Le barre laterali non devono più essere codificate manualmente. Invece, puoi eseguire il porting del tema per utilizzare i widget e creare semplicemente widget (che manna dal cielo!). Non mi piace come viene visualizzato qualcosa: basta modificare il tema! Non ti piace come WordPress gestisce qualcosa? Crea un plug-in. Sono difficile pensare a un motivo per modificare il codice WordPress stesso che non può essere gestito tramite i componenti modulari contemporanei di WordPress (widget, plug-in, temi) invece.

Sono il tipo di persona che ha sempre " sotto il cofano " nelle app open source come WordPress. Tuttavia, al giorno d'oggi, non c'è davvero alcun buon motivo per modificare il codice principale di WordPress.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top