WordPress-debuggausta on helppo tehdä, kun pääsee käsiksi virhelokeihin ja komentoriviin. Aina ei pääse, jolloin saakin raapia päätään sen suhteen, miten päästä esimerkiksi ajax-prosessien toimintaan.
Silloin auttaa error_log()
-komennon mahdollisuus lähettää tiedot virhelokin sijasta sähköpostiin:
error_log( 'Virheilmoitus', 1, 'mikko@example.com' );
Tämä lähettäisi virheviestin sähköpostilla osoitteeseen mikko@example.com
. Näppärää! Vaan entäs jos sähköpostiakaan ei voi lähettää? Siihenkin on näppärä niksi.
Luo tyhjä sivu tai artikkeli ja nappaa sen ID-numero talteen. Oletetaan numeroksi vaikka 123
. Sitten vain lisätään tällainen funktio:
function virheloki_artikkeliin( $viesti ) { $_post = get_post( 123 ); $data = array( 'ID' => $_post->ID, 'post_content' => $_post->post_content . "\n" . $viesti, ); wp_update_post( $data ); } // Jos sattumalta debuggaat Relevanssi-asioita, lisää myös tämä: add_filter( 'relevanssi_indexing_restriction', 'ei_testijuttua_indeksiin' ); function ei_testijuttua_indeksiin( $restriction ) { $restriction['mysql'] .= " AND post.ID != 123 "; $restriction['reason'] .= ' Testijuttu.'; return $restriction; }
Tämän jälkeen voit logata vaikkapa näin:
add_filter( 'relevanssi_indexing_data', 'indeksointitesti', 10, 2 ); function indeksointitesti( $data, $_post ) { virheloki_artikkeliin( 'Indeksoidaan artikkelia ' . $_post->ID ); return $data; }
Virheilmoitukset tulostuvat nyt siististi artikkelin 123 sisältöön. Sisältöä voit tarkastella ja nollata näppärästi WordPressin artikkelieditorista.