Perubahan yang signifikan pada update wordpress 4.4

Kemarin habis update wordpress ke versi 4.4 agak kaget juga, beberapa blog-ku titlenya hilang dan berubah menjadi nama blog info nya semua.
Aku telusuri di file header.php themesnya gak ada perubahan. Sampai pusing nyari masalahnya kena apa, akhirnya aku buka file header.php yang di folder /wp-includes/theme-compat
Ternyata di situ permasalahannya, pada wordpress sebelumnya kode untuk titlenya seperti ini
<title><?php wp_title('«', true, 'right'); ?> <?php bloginfo('name'); ?></title>

dan pada versi 4.4 seperti ini
<title><?php echo wp_get_document_title(); ?></title>

Ternyata function wp_title sudah dihapus dari wordpress versi 4.4
Pusing lagi deh nyari cara biar title nya bisa muncul lagi tapi tidak merusak core wordpressnya maupun merusak themes, karena kalau ada update themes pasti akan pusing lagi.
Setelah melakukan beberapa experimen akhirnya ketemu caranya, pakai kode ini untuk mengatasi permasalahan title pada wordpress 4.4
function kostum_judul($parts) {
 if( is_front_page() ) {
  $parts['title'] = get_bloginfo();
 }
 else {
  $parts['title'] = get_the_title();
 }
 return $parts;
}
add_filter( 'document_title_parts', 'kostum_judul', PHP_INT_MAX );

Tulis kode tersebut di dalam file functions.php themesnya, dengan asumsi jika developer themes nya melakukan update juga akan perubahan terkait dengan wp_title.
Tapi kalau setelah update themes, title nya masih error ya terpaksa harus menulis ulang kode tersebut di atas.

Perubahan yang lain pada versi 4.4 ini yaitu ada tambahan link rel wp-json dan javascript wp-embed.min.js
wp-embed ini gunanya untuk merubah otomatis link media semacam youtube menjadi embed media.

Kalau blognya gak pakai embed media dan gak mau ada wp-embed.min.js tersebut cara membuangnya pakai kode ini
function deregister_embed_js(){
  wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_footer', 'deregister_embed_js' );

Membuat alamat email domain sendiri dengan email forwarding

Kali ini saya akan share cara bikin alamat email menggunakan nama domain kita sendiri dengan teknik forwarding.
Sesuai namanya, forwarding yang kurang lebih artinya meneruskan, jadi alamat email ini nantinya hanya bisa menerima email yang kemudian diteruskan ke alamat email kita yang lain. Untuk membalas emailnya kita tidak bisa menggunakan alamat email tersebut, kecuali kita menggunakan script php mailer untuk membalasnya. Langsung saja, buka improvmx.com
Di situ kita langsung disuguhi form untuk mengisi nama domain dan alamat email yang akan diforward tanpa harus login maupun sign-up.
Sebelum kita submit nama domain kita harus menyiapkan dulu MX nya.
Buka control panel domain, dan masuk ke pengaturan zone record, kalau control panelnya cuma ada seting NS, kita bisa gunakan dns hosting seperti freedns.ws, dnsexit.com, namecheap.com, afraid.org dll.
Kita buat 2 MX record sesuai yang di halaman improvmx yaitu mx1.improvmx.com dengan priority 10 dan mx2.improvmx.com dengan priority 20.
Tanda @ pada host itu artinya nama domain, untuk pengaturan zone record di control panel domain atau di dns hosting nama domain bisa ditulis dengan @ saja.
Setelah kita bikin MX record, kita cek record tersebut sudah resolved atau belum. Untuk ngeceknya ada banyak tool online DNS cheker yang bisa kita pakai, bisa juga menggunakan dns.honor.es
Kalau record udah resolved, MX nya muncul di hasil chek DNS, sekarang kita submit nama domain ke improvemx.
Domain name isi dengan nama domain kita, dan Your email address kita isi dengan alamat email asli misal gmail atau yahoo mail, kemudian klik verify and start forwarding.
Kalau sukses akan muncul halaman yg ada tulisan
That's it!
All email to any address @namadomainmu will now be forwarded to emailaslimu.
Langsung test kirim email ke webmaster@namadomainmu atau terserah@namadomainmu semua alamat email yang pakai @namadomainmu akan diteruskan ke email asli kita.
Kemudian kita buka email kita, kalau test kirim email tadi masuk berarti kita udah sukses membuat mail forwarder.

Plugins Wordpress minify HTML

Kalau kita cek blog kita menggunakan gtmetrix skor minify HTML tidak 100%. Plugins ini fungsinya untuk merampingkan konten/posting kita dengan membuang white space dan karakter CR LF (untuk ganti baris), dengan demikian ukuran halaman kita akan sedikit berkurang dan akan sedikit mempercepat pageload.
Langsung saja copas code berikut ini, simpan sebagai file php dan unggah ke folder plugins. Selanjutnya aktifkan dari dashboard admin wordpress.
<?php
/*
Plugin Name: OMH Ogah Minify HTML
Description: Remove white space from the content
Version: 1.0
Author: Ogah
Author URI: http://wallpaper.4fd.us/
*/

function minifyhtml( $content ) {
 $original = $content; // get original content
 $content = preg_replace('/\s\s+|\r|\n/sui', '', $original);
 return $content;
}
add_filter('the_content', 'minifyhtml', 20);


Catatan:
Plugins ini hanya memproses content post, untuk html di header, sidebar maupun footer tidak akan berubah.
Anda bisa mengedit template dengan menghapus white space secara manual atau gunakan plugins yang bisa meminify keseluruhan code html blog.

Plugins dan posting ini boleh dishare ulang asal tidak merubah link Author URI

Membuat Badword Filter

Kali ini saya akan berbagi cara membuat badword filter.
Saya membuat script ini karena udah pusing muter-muter nyari badword filter yang bisa mereject komen yang mengandung kata-kata kotor.
Kebanyakan script yang sudah dishare adalah script untuk mengganti kata kotor dengan kata-kata lain, atau ada juga yang mereject kata-kata kotor tapi kalau ada awalan atau akhiran dari kata-kata tersebut yang artinya lain tetep kena filter atau kereject.
contoh: ass adalah badword, tapi pass atau association bukan badword. kadang pada kasus ini pass dan association juga ikut kena.

Ok langsung saja, berikut ini scriptnya
<?php
// ini cuma contoh array badword yang akan difilter
// silakan ganti sendiri kata apa aja yang mau difilter
$badword = array('anu', 'mumet', 'pusing');
$ban = "/\b(".implode('|', $badword).")\b/siu";
if(preg_match($ban, $post)) {
 echo 'Sorry kamu tidak diijinkan memposting dengan kata-kata kotor';
}
else {
 // post diproses
}
?>

Perhatikan script tersebut, yang membuat script ini beda dengan yang lain adalah \b atau boundary.
Dengan ditambahkan boundary pada delimiter maka pass dan association tidak akan match dengan ass.

Boundari juga bisa dipakai dalam fungsi preg_replace yang cuma akan mengganti match word, bukan mengganti word yang mengandung unsur match (gak jelas ngomong apa ini, intinya gitu lah hehe)
ok, sekian saja silakan mencoba dan silakan mumet sendiri :)