Annuncio

tabella di database personalizzataTi ho mostrato molti modi in cui WordPress è già il CMS più flessibile 5 cose che potresti non sapere di poter fare con WordpressEssendo il sistema di blog più versatile di sempre, non sorprende che gli sviluppatori abbiano trasformato Wordpress in qualcosa di più grazie all'uso intelligente dei plugin. Se pensavi che Wordpress fosse solo per... Per saperne di più . Una rapida scansione del Il meglio dei plugin WordPress I migliori plugin per WordPress Per saperne di più La pagina rivelerà anche alcuni dei tanti modi unici e di nicchia in cui puoi far lavorare di più il tuo blog. Ti ho persino mostrato come utilizzare tipi di post personalizzati Come creare il tuo elenco di eventi utilizzando i tipi di post personalizzati in WordPressWordPress ti consente di utilizzare i tipi di post personalizzati per estendere le funzionalità integrate. Ecco come farlo senza plugin. Per saperne di più per creare il tuo mini database Crea un database di recensioni di prodotti con Wordpress: tipi di post personalizzati, campi personalizzati, immagini in primo piano e widget!

instagram viewer
L'ultima volta ti abbiamo mostrato come creare un semplice elenco di eventi utilizzando forse la funzionalità più potente di WordPress 3.0: i tipi di post personalizzati. Dopo alcune richieste di ulteriore sviluppo, oggi saremo... Per saperne di più ; ma ho tralasciato una cosa, credo.

Cosa succede se si dispone già di un database di, ad esempio, informazioni sui clienti, ma si desidera essere in grado di interrogare tali dati e visualizzarli all'interno di un modello WordPress? Oggi ti mostrerò come farlo, in modo sicuro all'interno del motore WordPress.

Requisiti

  • Il tuo sito WordPress self-hosted, ovviamente.
  • Competenze di base PHP e MySQL – Consiglio le Tutorial Tizag PHP e MySQL, poiché coprono più che sufficienti e puoi lavorarci sopra in un giorno e consultarli di nuovo quando necessario.
  • Un set di dati esistente in MySQL.
  • Riga di comando dell'accesso PHPMyAdmin per unire i database.
  • Un singolo database con entrambi i set di dati: ciò significa che è necessario unire le tabelle del database di WordPress in un database esistente e modificare wp-config.php per riflettere i dettagli del nome utente e della password del nuovo database; o importa un set di dati esistente nel tuo database WordPress. È più facile se non hai un altro sistema che si basa sui dati. Ad ogni modo, presumo che tu abbia già fatto questo passaggio: dai un'occhiata al mio articolo su come fare a backup completo del database tramite una riga di comando SSH Come eseguire il backup del tuo sito Web tramite la riga di comando SSHIl backup del tuo sito Web o blog può essere un'attività costosa e ardua, che richiede una varietà di plug-in o piani aggiuntivi dal tuo provider di hosting, ma non è necessario che lo sia davvero. Se hai SSH... Per saperne di più se hai bisogno di indicazioni lì.

Questo tutorial è avanzato quanto quello che arriveremo a MakeUseOf, ma dovrebbe aprirti un mondo di possibilità.

Perché dovrei farlo?

Nonostante i numerosi plugin ed estensioni a nostra disposizione in WordPress, a volte hai già un set di dati e lo stai migrando su a il formato Mi piace di WordPress sarebbe più fastidioso di quanto valga la pena, specialmente se hai un altro sistema con cui devi interagire insieme a.

Oggi prenderò l'esempio di un semplice database di informazioni sui clienti e creeremo un modello di pagina che elenchi questi clienti – solo agli utenti registrati di WordPress (sebbene la pagina stessa sarà accessibile dal front-end del posto).

Come riferimento per i nomi di colonne e tabelle nel database, potresti trovare utile installare il Plugin del browser del database, che ti consentirà anche di eseguire le operazioni di base dove e ordinato da query per testare il codice SQL. Ecco uno screenshot con un set di dati di esempio che ho creato, in questo caso una tabella chiamata Clienti, contenente alcune informazioni di base su ciascuno dei miei clienti molto importanti.

tabella di database personalizzata

Che cosa esattamente faremo qui?

  • Creazione di un nuovo modello di pagina a cui possiamo poi applicare del codice PHP personalizzato.
  • Guardando come creare una query personalizzata sul database e quindi analizzare i risultati, utilizzando le classi di database WordPress integrate.
  • Guardando le autorizzazioni nel caso in cui desideri limitare l'accesso.

Creare un modello personalizzato

Se desideri utilizzare parte del tuo codice PHP, il modo più semplice per farlo è creare un modello personalizzato, quindi applicare il modello a una particolare pagina che crei in WordPress. Inizia aprendo i file del tema e duplicandoli pagina.php (o single.php se non c'è). Rinominalo in qualcosa di ovvio, come "template-customers.php"come ho scelto.

Nella parte superiore del file, dobbiamo dire a WordPress che questo è un modello personalizzato. Fallo aggiungendo quanto segue (questo è un commento in stile PHP, quindi dovrebbe essere dopo ogni tag PHP di apertura se presente):

/* Nome modello: Clienti. */

Ovviamente chiamalo come preferisci.

Ora, trova la funzione del contenuto principale. Puoi eliminarlo se lo desideri, ma aggiungerò solo il codice extra dopo di esso. Con il tema di default di venti undici, stai cercando:

php get_template_part('contenuto', 'pagina'); 

Ma nella maggior parte dei temi, sarà qualcosa del tipo:

php the_content();

Questo è il bit che mostra il contenuto del tuo post, quindi tutto ciò che aggiungi dopo verrà mostrato subito dopo l'area del contenuto principale. Giusto per verificare che funzioni, aggiungiamo un'istruzione echo di base e salviamo il file.

php echo "Questo è il nostro modello personalizzato!";

Prima di poterlo verificare, dovremo creare una pagina nella pagina di amministrazione di WordPress e applicarvi il nostro modello di pagina.

tabella di database personalizzata wordpress

Pubblica e controlla la pagina per vedere se la tua dichiarazione echo ha funzionato.

tabella di database personalizzata wordpress

La classe query personalizzata

Per accedere direttamente al database è sufficiente utilizzare il $wpdb oggetto rendendolo globale. Queste tre righe dovrebbero farlo: sostituisci l'istruzione echo generica che abbiamo fatto in precedenza con questa:

php. $wpdb globale; $clienti = $wpdb->get_results("SELECT * FROM clienti;"); print_r($clienti); 

Salva e aggiorna la pagina. Il print_r() funzione scarica semplicemente tutti i dati dall'oggetto del cliente, quindi dovresti vedere che la tua semplice istruzione SQL per selezionare tutto dalla tabella del cliente ha funzionato bene. Ora tutto ciò che devi fare è analizzare i risultati in qualcosa di utilizzabile. Naturalmente, puoi inserire qualsiasi istruzione SQL select in get_risultati() metodo, ma non sono qui per insegnarti SQL, quindi per ora ci limiteremo a prendere tutto.

Per analizzare i risultati in qualcosa di più significativo, per ora userò solo una tabella di base. Sostituisci il print_r metodo con il seguente codice (non preoccuparti, incollerò il codice completo più tardi se non vuoi metterlo insieme da solo):

eco "
"; foreach($clienti come $cliente){ eco ""; eco ""; eco ""; eco ""; eco ""; eco ""; } eco "
".$cliente->nome."".$cliente->e-mail."".$cliente->telefono."".$cliente->indirizzo."
";

Una volta che hai ogni oggetto cliente all'interno di a per ciascuno, puoi accedere facilmente ai nomi dei campi con $cliente->nome_campo – davvero non potrebbe essere più semplice.

Mettere in sicurezza le cose

In questo caso, non voglio davvero che i miei dati dei clienti vengano visualizzati da chiunque e indicizzati dai motori di ricerca, ma voglio comunque che vengano visualizzati sul front-end utilizzando questo modello; quindi cosa possiamo fare? Facile, faremo uso del condizionale di WordPress is_user_loggato_in(), e visualizza un messaggio rapido se non lo sono. Ecco di nuovo l'intero blocco di codice con il nuovo condizionale aggiunto:

php if (is_user_logged_in()): globale $wpdb; $clienti = $wpdb->get_results("SELECT * FROM clienti;"); echo ""; foreach($clienti come $cliente){ echo ""; echo "".$cliente->nome.""; echo "".$cliente->e-mail.""; echo "".$cliente->telefono.""; echo "".$cliente->indirizzo.""; echo ""; } echo ""; else: echo "Siamo spiacenti, solo gli utenti registrati possono visualizzare queste informazioni"; finisci se;

Salva e aggiorna, e dovresti ancora vedere il contenuto. Tuttavia, disconnettersi, poi aggiorna la pagina e ora vedrai il "Spiacenti, solo utenti registrati..." Messaggio.

tabella di database personalizzata

Se volessi limitare questo a determinati livelli di utenti piuttosto che a tutti gli utenti registrati, allora useresti il utente_corrente_can() condizionale invece, insieme a una capacità associata (leggi di più sulle funzionalità del codice). Ciò controllerà gli utenti amministratori, ad esempio, gli unici utenti che possono gestire le opzioni del plug-in:

current_user_can( 'gestisci_opzioni' )

Riepilogo

Lo lascerò lì oggi come qualsiasi altra cosa diventerebbe un SQL tutorial o come modellare il tuo output con CSS. Il cielo è davvero il limite con WordPress e spero che questo sia utile ad alcuni di voi nei vostri progetti WordPress.

La prossima settimana affronterò l'argomento leggermente più complicato di come inserire nuovamente i dati nel database personalizzato utilizzando un modulo nella pagina e un po' di magia AJAX/jQuery. E dai un'occhiata ad alcune delle nostre altre guide WordPress, come risoluzione di 500 errori interni del server e pagine vuote La guida definitiva per risolvere 500 errori interni del server e pagine bianche vuote in WordPressHai problemi con 500 errori interni del server e pagine vuote in WordPress? Ecco come risolverli subito. Per saperne di più e miniature e dimensioni delle immagini in primo piano La guida completa alle miniature in primo piano e alle dimensioni delle immagini in WordPressEcco tutto ciò che devi sapere sulle dimensioni delle immagini in WordPress e sulla gestione delle immagini in primo piano. Per saperne di più .

Non hai ancora un'installazione di WordPress? Dai un'occhiata al nostro guida all'installazione di WordPress su Bluehost Come installare WordPress su BluehostBluehost è tra i provider di web hosting più grandi e popolari. Ecco una semplice guida su come installare WordPress su Bluehost. Per saperne di più .

James ha una laurea in Intelligenza Artificiale ed è certificato CompTIA A+ e Network+. È lo sviluppatore principale di MakeUseOf e trascorre il suo tempo libero giocando a paintball VR e giochi da tavolo. Costruisce PC da quando era bambino.