due chiacchiere

Errori personalizzati in wordpress

Ho appena finito di installare l’ultima versione del sistema di gestione che uso per mandare avanti il blog, WordPress. Generalmente preferisco aspettare che si stabilizzi un po’, ma stavolta non vedevo l’ora di provare una funzione che aspettavo da tanto tempo: la possibilità di avere una pagina d’errore personalizzata, quando si verifica qualche inconveniente critico, come l’assenza di una connessione alla base di dati sottostante. Finora mi ero arrangiato “mettendo le mani” sul codice, e cambiando alcune istruzioni, per non far vedere l’orrenda pagina preconfezionata dagli sviluppatori. Adesso finalmente non sarà più necessario, grazie alla nuova funzionalità disponibile.

Per usarla ti basterà creare una pagina HTML, con eventuale codice PHP, e salvarla con il nome db-error.php (guarda caso il nome che io già usavo in precedenza) all’interno della cartella wp-content sul tuo server. L’accorgimento fondamentale è di non usare chiamate alla base di dati: queste funzioni fallirebbero, visto che la pagina viene mostrata proprio quando qualcosa non funziona come dovrebbe. Ho fatto delle prove, e tutto sembra a posto. L’unica delusione è che non hanno esteso (almeno mi sembra) questa innovazione agli altri errori (commento vuoto, nome non inserito, ecc). Il che mi costringe a continuare a modificare un’altra parte del sistema.

Commenti

  1. SteveAgl ha detto:

    Il suggerimento di estendere la cosa ad altri errori è decisamente interessante, suggerirei l’apertura di un ticket sul TRAC a riguardo che verrà certo preso in considerazione, se poi assieme hai già del codice da proporre ed allegare il tutto riceverà ulteriore attenzione.

  2. camu ha detto:

    Ciao Steve, ottimo consiglio. Ho già inviato la mia proposta, vediamo che ne pensano!

  3. pibua ha detto:

    Io sono riuscita faticosamente a fare l’aggiornamento alla 2.3.1 15 giorni fa, ho sempre avuto paura che qualcosa andasse storto e mi sono tenuta la 2.1 per un anno…e in effetti un piccolo intoppo l’ho avuto quando dopo la procedura di upgrade mi era sparito tutto, per fortuna chi mi ha venduto l’hosting fornisce ottima assistenza e mi ha sistemato il tutto (ndr non era un mio errore, ma un errore di sovrascrittura durante l’upgrade). Comunque credo di aver esaurito le energie e per almeno un mesetto non voglio sentire parlare di aggiornamenti 🙂
    Eventualmente se avrò bisogno so che qui c’è un altro esperto (sempre che non disturbi)
    Ciao 😉

  4. camu ha detto:

    Pibua, nessun disturbo. Certo non è facile trovare personale competente che aiuta i propri clienti nel servizio di hosting, non tutti lo fanno. Puoi dire a testa alta di aver ben speso i tuoi soldi per il sito web. Per l’aggiornamento, il mio consiglio (che poi è quello che danno tutti) è di rinominare le vecchie cartelle, non cancellarle. In questo modo se qualcosa va storto, ripristini subito tutto in quattro e quattro otto.

  5. Francesco ha detto:

    Ciao a tutti,

    ho cominciato anch’io a mettere mano a WordPress per rendere accessibile il Frontend e mi sono proposto il modesto obiettivo della tripla A delle Wcag 2.0 (dati per scontati i 22 requisiti della legge ‘Stanca’)..

    Penso di essere a buon punto, in ottemperanza alla linea 3.3.6 ho creato una pagina di revisione dei dati inseriti dall’utente, che funziona benissimo se l’utente non è loggato.

    Se inserisci i dati nei quattro campi (nome, e-mail, sito web e testo messaggio) e clicchi Invia la pagina che compare ripropone il formulario che puoi rileggere e correggere.

    Ma se l’utente è loggato, dalla pagina principale scompaiono i campi nome, e-mail e sito web, mentre non riesco a farli scomparire nella pagina di revisione.

    E neanche riesco a far comparire nei campi della stessa pagina di revisione i dati di iscrizione dell’utente pescandoli adl core.

    Avete qualche idea per la mia sendmail.php?

    Un caro saluto

    Francesco Carzedda, Sardegna

  6. Francesco ha detto:

    Dimenticavo di inserire l’indirizzo della pagina di prova su cui il blog risiede: http://4elementi.info/wordpress/

    Ciao

    Francesco

  7. Francesco ha detto:

    Problema risolto: ho inserito nel ciclo ‘If’ del file comments.php un’ulteriore condizione.
    Se l’utente è loggato visualizza solo il campo ‘testo del messaggio’ e il pulsante ‘Invia’ e invia i dati alla pagina sendmail2.php che permetterà la verifica e li invierà a wp-comments-post.php.
    Altrimenti procedi come prima: visualizza tutti i campi e invia il contenuto della digitazione a sendmail.php che poi li invierà a wp-comments-post.php.

    Troppo semplice per arrivarci prima?

    Se interessati rispondo a domande sul codice.

    Cari saluti dalla Sardegna

    Francesco

Lascia un commento