Beranda > WordPress > Menyesuaikan Plugins MicroKid Related Posts v2.3 dengan qTranslate v2.4.3

Menyesuaikan Plugins MicroKid Related Posts v2.3 dengan qTranslate v2.4.3

Saya menggunakan plugins qTranslate sampai sejauh ini. Saya suka sekali menggunakan plugins ini karena sangat simpel tapi cukup powerful dan ramah terhadap pengguna. Apalagi ketika saya ingin menterjemahkan artikel saat sedang menambah atau mengubah post, cukup berpindah antar tab saja. Dibandingkan plugins sejenis lainnya, menurut saya, qTranslate masih yang terbaik, setidaknya bagi saya.

Hari ini saya mencoba sebuah plugins baru yang bernama MicroKid Related Posts. Fungsi plugins ini untuk menampilkan link post atau artikel terkait di bagian bawah dari suatu post. Sayangnya, saya menemukan sedikit masalah setelah berhasil mengimplementasikan plugins Related Posts ini. Apa itu? Begini ceritanya.

Karena judul post yang disimpan di tabel wp_posts oleh plugins qTranslate berada di dalam satu field untuk semua bahasa yang aktif, maka setiap kali judul post ditampilkan, judul post akan kelihatan menyambung untuk setiap bahasa tadi. Contoh: Saya sudah mempunyai sebuah post dengan judul dalam bahasa Inggris “Welcome to My World” di mana judul dalam bahasa Indonesia adalah “Selamat datang di Dunia Saya”. Nah, kedua data ini oleh plugins qTranslate ternyata disimpan di dalam satu field yang bernama post_title, dan data judul tadi disimpan menjadi seperti ini:

<!--:en-->Welcome to My World<!--:--><!--:id-->Selamat datang di Dunia Saya<!--:-->

itulah mengapa akhirnya ketika ditampilkan menjadi seperti di bawah ini:

Welcome to My WorldSelamat datang di Dunia Saya

di mana judul yang ditampilkan mengandung kedua bahasa yang aktif; English dan Indonesian.

Demikian juga ketika saya mencari artikel dengan judul tersebut; dengan cara mengetikkan tag atau beberapa karakter huruf di kotak pencarian Related Post pada bagian bawah form saat mode entri/ubah Artikel, lalu mana saya memilihnya sebagai salah satu Related Post terhadap artikel baru yang sedang saya buat, maka judul item Related Post ini akan menjadi: “Welcome to My WorldSelamat datang di Dunia Saya”. Seperti yang Anda lihat, lagi-lagi tidak ada spasi antara judul bahasa Inggris dengan judul bahasa Indonesia.

Tentu, akan sangat lebih baik lagi, jika judul Related Post tersebut seharusnya menjadi seperti ini:

Welcome to My World, jika bahasa terpilih adalah English,
atau:
Selamat datang di Dunia Saya, jika bahasa yang terpilih adalah Indonesian.

Ini jelas merupakan tantangan. Lalu saya mulai menyelidiki file skrip yang mana saja yang terkait dengan hal ini, untuk membuat judul yang lebih informatif (cetakan tebal) di atas.

Yang sudah berhasil saya lakukan adalah sebagai berikut:

1. Buka file mrp-search.php milik plugins MicroKid Related Posts, lalu cari kode berikut:

55
foreach( $results as $result ) {

lalu timpa dengan kode berikut:

55
56
foreach( $results as $result ) {
  $related_post_title = wp_specialchars(qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($result->post_title));

juga, cari kode ini:

63
64
echo $result->post_title.'</a> <a href="'.get_permalink( $result->ID ).'"
     title="View this post" target="_blank">&rsaquo;</a></li>';

lalu timpa dengan kode ini:

63
64
echo $related_post_title.'</a> <a href="'.get_permalink( $result->ID ).'"
     title="View this post" target="_blank">&rsaquo;</a></li>';

Sampai di sini, kita sudah selesai mengubah kode di file mrp-search.php.

2. Langkah selanjutnya adalah kita juga harus mengubah kode di dalam file microkids-related-posts.php.
Buka file tersebut, lalu cari kode ini:

95
foreach( $related_posts as $related_post_id => $related_post_title ) {

timpa dengan kode berikut:

95
96
foreach( $related_posts as $related_post_id => $related_post_title ) {
  $related_post_title = wp_specialchars(qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($related_post_title));

juga, cari kode ini:

317
foreach( $related_posts as $related_post_id => $related_post_title  ) {

lalu timpa dengan kode berikut:

317
318
foreach( $related_posts as $related_post_id => $related_post_title  ) {
  $related_post_title = wp_specialchars(qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($related_post_title));

dan yang terakhir, cari juga kode ini:

367
foreach( $related_posts as $related_post_id => $related_post_title  ) {

kemudian timpa dengan kode berikut ini:

367
368
foreach( $related_posts as $related_post_id => $related_post_title  ) {
  $related_post_title = wp_specialchars(qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($related_post_title));

Itulah semua yang sudah berhasil saya lakukan. Sekarang, Anda dapat melihat judul artikel di bagian Related Posts menjadi kelihatan lebih baik dibandingkan sebelumnya. Anda dapat melihat hasilnya di bagian bawah post ini pada bagian Artikel Terkait ketika sebuah artikel sedang ditampilkan dalam mode lengkap.

Hal ini sudah dicoba dan berjalan dengan baik di MicroKid Related Posts versi 2.3 dan qTranslate versi 2.4.3.

  • Share/Bookmark
491 kali dibaca Cetak Artikel Ini Cetak Artikel Ini

  1. 12 Juni 2010 pada 18:00 | #1

    Hallo Pak… mohon bantuannya ^_^
    Kenapa ya saya mengalami hal yang sama setelah menginstall qtranslate? post title tetap ditampilkan sesuai dengan yang diinginkan pada setiap posting baik english atau arab, tak ada masalah. Namun di “recent entries” (terletak di bagian kiri atas dr blog saya) post title tampil seperti ini :
    Welcome to My WorldSelamat datang di Dunia Saya

    bagaimana cara penyelesaiannya ya pak? sudah utak/tik sana sini tapi ga bisa juga…
    mohon bantuan. terimakasih sebelumnya :)

  2. 12 Juni 2010 pada 18:03 | #2

    Ada simbol seperti ini pak

  3. 12 Juni 2010 pada 18:09 | #3

    di ‘recent entries’ akan tampak sebuah judul postingan tapi dengan dua bahasa yg berbeda plus tampil dengan simbol-simbol seperti – ! > < =
    bingung mau diapain :D mohn bantuannya ya pak… thq

  4. 12 Juni 2010 pada 19:19 | #4

    @nafuzu

    Kemungkinan “Recent Entries” tersebut menggunakan kode yang terdapat di theme yang Anda gunakan, dan harus dimodifikasi lagi dengan cara menambahkan function “qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage()” seperti langkah-langkah di artikel ini.

    Contoh penggunaan:
    qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($post_title)
    di mana $post_title merupakan variabel yang menampilkan data judul tulisan (sesuaikan dengan yang digunakan di theme Anda).

  5. 13 Juni 2010 pada 11:36 | #5

    Sebelumnya terimakasih atas bantuannya ya,pak :) Saya tidak ada basic ttg script, jadi ya trial and error gitu . hehehe… :D

    theme website saya dapatkan di http://wpjunction.com/starcad/
    Pak…Dimana ya saya harus menambahkan qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($post_title) ?

    di bagian index.php saya menemukan script di bawah ini, di bagian mana saya harus ganti? Atau di file php yang lain?

    Recent Entries

    Popular Posts

    Recent Comments

    <div id="post-” class=”post”>

    Categorized under

    <a href="” title=”">

    <?php wp_pagenavi('’, ‘‘) ?>

    Not Found

    Sorry, but you are looking for something that isn’t here.

  6. 13 Juni 2010 pada 11:39 | #6

    Hmmm, script yang saya kirim barusan tidak terbaca dan ketika di enter sebagian mengalami perubahan di halaman comment ini. T_T hiks

  7. 13 Juni 2010 pada 21:31 | #7

    Syukurlah setelah utak/ik seharian ini, semuanya dah berjalan sesuai dengan yang diinginkan. Ternyata tinggal menambahkan tanda __ di bagian plugin.php menjadi
    foreach ($posts as $post) {
    $post_title = __($post->post_title);

    saya baca di http://www.bravenewcode.com/support/topic/wptouch-and-qtranslate
    coba-coba aplikasikan perubahan tanda __ di plugin.php dari theme saya..

    Ok ,pak masino …thank u so much ya ;) salam kenal

  1. 30 Agustus 2009 pada 21:21 | #1
  2. 7 September 2009 pada 17:46 | #2