Come si programma per WordPress?

22 ott 2011, 09:03:45
Visualizzazioni: 933
Voti: 6

In php puro e nei framework lo sviluppo avviene con l'aiuto di strumenti IDE, sto usando PhpStorm e ne sono molto soddisfatto, recentemente ho deciso di scoprire il CMS più popolare di questi giorni e mi sono confuso su come si programma per esso?

1) devo installare WordPress non solo sul mio server, ma anche localmente? modificare i file nell'IDE/editor e usare la funzione "importa/esporta" di WordPress per sincronizzare le mie modifiche? come lavorerebbe un team di sviluppatori su questo? e per quanto riguarda il VCS?

2) oppure devo sviluppare direttamente nella dashboard? in tal caso, non c'è evidenziazione/auto-completamento/intellisense e altri vantaggi che facilitano lo sviluppo.. e i plugin per l'evidenziazione che ho visto finora fanno abbastanza schifo.

WordPress è la strada del lupo solitario? Qual è l'approccio generale che seguono gli sviluppatori WordPress?

php
2
Commenti

Stai parlando di scrivere un tema o un plugin per WordPress, oppure di lavorare su post/pagine?

User User
22 ott 2011 09:06:44

Codice PHP, plugin, ecc.

User User
22 ott 2011 09:13:55
Tutte le risposte alla domanda 4
0

Il modo di Judah di sviluppare per WordPress non è assolutamente sbagliato - semplicemente diverso dal mio. Inoltre, i due link che ha fornito sono molto utili. L'articolo del blog sembra valere la pena leggerlo e il codex è la bibbia di ogni sviluppatore WordPress.

Per offrirti altre opzioni da considerare, ecco il mio approccio allo sviluppo WordPress:

IDE / ambiente di sviluppo: Se vuoi modificare lo stile di un singolo elemento, wp-admin ("la dashboard") è sufficiente. Per lo sviluppo serio di temi o plugin però, non è assolutamente un'opzione valida. Quindi dovresti usare l'IDE che preferisci. Per completezza, essendo un utente *nix, userei Komodo Edit su Linux e Coda su Mac. Comunque, che tu stia lavorando con WordPress, un altro CMS o codificando da zero è irrilevante per la scelta dell'IDE - usa quello con cui ti trovi meglio. Uno dei requisiti base che cerco in un IDE - e che ti consiglio di considerare - è la capacità di caricare e salvare file direttamente su un server via FTP. Diventa noioso salvare i file localmente e caricarli con un'app separata. Un altro criterio importante è un buon syntax highlighting per PHP, CSS, JS e HTML.

Dove sviluppare: Dopo un po' di sperimentazione potresti concludere che preferisci sviluppare in locale - io no. Preferisco sviluppare direttamente sul server dove andrà online o su un server con la stessa configurazione (versioni di Apache e PHP, versione di MySQL in misura minore, e non ultimo: sistema operativo). Da qui l'importanza di un IDE con capacità FTP integrate. Se scegli di sviluppare in locale, assicurati che l'ambiente sia almeno simile a quello dove verrà deployato il sito. Per il mio modo di lavorare, mantengo sottodomini di sviluppo sul mio server non accessibili al pubblico. In questo modo so che il sito si comporterà esattamente allo stesso modo quando lo porterò online.

Sviluppo di temi WordPress: Iniziare completamente da zero, cioè con una cartella tema vuota e creare ogni file necessario da soli, sarebbe molto dispendioso in termini di tempo e per un principiante di WordPress quasi impossibile. Come base per scrivere il tuo primo tema WordPress consiglio vivamente di scaricare il tema Starkers sviluppato dall'iconico Elliot Jay Stocks. Starkers contiene quasi nessuno stile e nessun markup semantico. Però include tutte le funzioni e file essenziali di un tema WordPress standard. Oggi uso il mio template tema base, fondamentalmente Starkers con varie modifiche che altrimenti farei per ogni tema. Quel template mi serve bene perché è adattato al mio modo personale di lavorare (e privo di commenti), ma quello che Elliot ha fatto è fornire il punto di partenza perfetto per il (futuro) designer di temi.

Cosa fare ancora (se segui la mia strada): Familiarizza con la struttura base di un tema WordPress. Io non farei a meno di un header.php e footer.php statici che incorniciano il sito e tra i quali avviene tutta la magia. Impara cosa sta meglio in functions.php e perché dovresti averne uno. Impara cos'è il wordpress loop. Leggi gli articoli del codex su Sviluppo Tema e Il Loop. Leggili di nuovo. Quando capisci almeno il 75% del contenuto, inizia a sezionare Starkers, comprendi la sua struttura. Sviluppa da lì. Ogni volta che incontri un problema, controlla prima il codex (io lo faccio spesso indirettamente - cercando su Google i termini chiave seguiti da "wordpress", spesso una pagina del codex sarà tra i primi 5 risultati), poi chiedi in giro.

Un'ultima risorsa: Due anni fa, avrei consigliato vivamente di guardare il video tutorial in tre parti di Chris Coyier (di css-tricks.com) sulla creazione di temi WordPress. Visto che è dell'inizio 2009, utilizza wp 2.7 (la versione attuale è 3.2.1). Lo consiglierei comunque, è una buona serie di screencast facile da seguire con molti consigli ancora validi. Guardalo tenendo presente che alcune cose sono cambiate da allora. Il primo video della serie lo trovi qui, gli altri cercando su Google, sul sito o modificando l'URL.

22 ott 2011 22:48:43
0

Suppongo che potresti provare a sviluppare direttamente tramite la dashboard, ma penso che sarebbe un po' troppo difficile. Inoltre, considerando che probabilmente non vuoi che il sito sia online mentre lo stai costruendo, dovresti comunque spostarlo in una nuova directory dopo aver completato lo sviluppo.

Ogni volta che sviluppo un tema da zero, inizio semplicemente con l'HTML/CSS per tutte le diverse pagine e le faccio funzionare localmente. Poi faccio un'installazione locale di WordPress utilizzando MAMP o XAMPP e suddivido il mio markup per trasformarlo in un tema (dividendolo nei diversi file template di WordPress). Poi hai diverse opzioni per spostare la versione locale su un server remoto. Di solito faccio una nuova installazione di WordPress sul server remoto, cancello il database predefinito e ne creo uno nuovo, sostituisco la cartella wp-content remota con la mia cartella wp-content locale (quella che contiene il tema che ho appena finito di sviluppare), eseguo un dump SQL del database locale e lo importo nel nuovo database che ho creato sul server remoto. Poi collego l'installazione di WordPress al tuo database attraverso il file wp-config.

A quel punto puoi continuare a usare la tua copia locale del sito per correggere bug, continuare lo sviluppo, ecc. e caricare file specifici per implementare le modifiche.

Puoi seguire questo tutorial per imparare a creare effettivamente i file del tema: http://thethemefoundry.com/blog/html-wordpress

Dovresti assolutamente dare un'occhiata al Codex: http://codex.wordpress.org/ È un po' vasto, ma la community di WordPress è enorme e la documentazione è buona.

22 ott 2011 09:26:37
0

1) Devo installare WordPress non solo sul mio server, ma anche localmente? Modificare i file nell'IDE/editor e usare la funzionalità "importa/esporta" di WordPress per sincronizzare le modifiche? Come lavorerebbe un team di sviluppatori su questo? E il controllo versione?

Il modo più comune in cui un team di sviluppatori lavora su un progetto WordPress è utilizzando un sistema di controllo versione come SVN o Git. Utilizzando un IDE come PhpStorm, scarica una copia sulla tua macchina locale assicurandoti di impostare la directory root di WordPress come directory root del progetto.

Lavora sui file e testa nel tuo ambiente di sviluppo locale, quindi invia le modifiche al repository principale sul server di sviluppo o produzione.

È anche molto utile lavorare con il debug attivo e configurare Xdebug nel tuo IDE.

In wp-config.php:

define( 'WP_DEBUG', true );
define( 'SCRIPT_DEBUG', true );
define( 'CONCATENATE_SCRIPTS', false );
define( 'SAVEQUERIES', true );

2) Oppure devo sviluppare direttamente nella dashboard? Se è così, non ci sono evidenziazione/auto-completamento/intellisense e altri vantaggi che migliorano lo sviluppo... e i plugin per l'evidenziazione che ho visto finora sono molto scarsi.

L'editor della dashboard è principalmente solo una comodità e dovrebbe essere usato solo per modifiche minori, se proprio necessario. Su un server di produzione non dovrebbe mai essere utilizzato e preferisco disabilitarlo per prevenire problemi.

WordPress è una strada per lupi solitari? Qual è l'approccio generale che seguono gli sviluppatori WordPress?

WordPress è molto lontano dall'essere una strada per lupi solitari. È un grande progetto open source con un'enorme partecipazione della comunità. Ci sono tantissime risorse disponibili e molte comunità più piccole in cui puoi partecipare.

25 ott 2011 09:09:08
5
-5

Riceverò molti insulti per questa risposta, ma penso davvero che l'OP debba imparare più PHP e WordPress prima di lanciarsi nella programmazione per WP. Se lo facesse, queste domande non sarebbero mai state poste.

Lo valuterei come un autodidatta PHP pre-principiante che ha imparato tramite tutorial online e ha deciso dall'oggi al domani di programmare per WordPress, pensando che una risposta su un forum possa insegnargli tutto. Non è così semplice...

  1. Impara come funziona WordPress usandolo effettivamente e prestando attenzione ai dettagli
  2. Leggi 1+ libri su PHP/WordPress (so che costa soldi, ma è così che funziona)
  3. Crea un ambiente di sviluppo locale (Configura server, domini, WordPress, ecc.)
  4. Usa un IDE (NuSphere PhpEd su Windows) per una rapida consultazione delle funzioni, poiché il modo migliore per imparare WordPress è studiare il codice core
  5. Inizia in piccolo, impara come funzionano plugin/azioni/filtri. Quando li conoscerai, avrai padroneggiato la programmazione per WP. Poi dovrai solo conoscere le funzioni e i filtri specifici o sapere come trovarli quando necessario (devi avere un IDE)

Il tipo di conoscenza di programmazione che si ottiene gratuitamente è quel tipo di conoscenza che rende il tuo codice un pericolo per te stesso e per chi ti sta intorno. Chi ti ha detto che la conoscenza è gratis stava solo eliminando un concorrente.

25 ott 2011 02:43:52
Commenti

Chiunque si chieda se i plugin dovrebbero essere sviluppati in un editor JS (nome in codice Dashboard), ha davvero dei problemi. Lo trovo offensivo come sviluppatore. Oggigiorno tutti sono programmatori, pensando che sia una passeggiata.

EarnestoDev EarnestoDev
25 ott 2011 02:47:28

Trovo offensivo il modo in cui consideri i non professionisti in generale, così come in questo caso specifico. Inoltre, è meschino credere che non si possa essere autodidatti e che la conoscenza liberamente disponibile non sia sufficiente.

Johannes Pille Johannes Pille
25 ott 2011 16:40:47

Sarà sufficiente per renderlo un pericolo per coloro con cui finirà a lavorare/per cui lavorerà. Imparare online è come costruire senza fondamenta (che sono l'educazione - non la scuola ma qualcosa di organizzato come un libro). I tutorial insegnano soluzioni specifiche mentre i libri insegnano tutto il resto.

EarnestoDev EarnestoDev
25 ott 2011 20:08:02

Votato negativamente mesi fa, spiegherò ora il motivo: secondo me, Internet è la finzione (o visione?) di Jorge Luis Borges "La biblioteca di Babele" diventata realtà. ::: Libri vs Tutoriali: credo che anche il signor Johannes Gutenberg abbia avuto problemi con i Manoscritti considerati migliori dei Libri Stampati...

brasofilo brasofilo
21 gen 2013 06:53:03

il mio -1 sarebbe stato un +1 se avessi incluso solo i punti numerati. Non è impossibile essere uno sviluppatore php competente e di qualità utilizzando solo materiali disponibili gratuitamente; ma richiede un alto livello di impegno, organizzazione e lavoro.

Zach Lysobey Zach Lysobey
15 mar 2013 19:09:07