WPML adalah sebuah plugin yang memiliki kemampuan untuk mengubah situs WordPress Anda menjadi sistem pengelolaan konten yang bisa mengandung beberapa bahasa. Sayangnya, sampai saat ini, paling tidak sampai saat sebelum saya menemukan solusi berikut, WPML hanya mendukung terjemahan untuk konten asli WordPress, seperti: tulisan (posts), halaman (pages), kategori (categories), tag (tags), dan menu (menus) (sejak WordPress versi 3.0). Saya sebenarnya sangat bisa memahami kondisi ini. Itulah mengapa dia belum mendukung terjemahan untuk konten yang berasal dari plugin Pods CMS, sementara fitur tersebut sudah sejak lama saya nantikan bisa diimplementasikan pada plugin WPML. Terus terang saja, saya sudah menunggu sampai sekian lama, dan… hari ini… Puji Tuhan, aku benar-benar berhasil menemukan solusinya! Meskipun modifikasi berikut yang sudah saya buat ini kedengarannya sedikit, ehm, berbau “hack” langsung ke dalam sumber kode utama di class milik plugin WPML, tapi hasilnya benar-benar berfungsi dengan baik di situs saya tersebut. Jadi, jika situs WordPress Anda menggunakan plugin Pods CMS, dan juga plugin WPML, lalu Anda ingin menambahkan tautan terjemahan ke dalam penukar bahasa milik plugin WPML di mana konten itu berasal dari plugin Pods CMS, maka Anda sudah datang ke situs yang tepat, karena modifikasi berikut ini memang hanya untuk Anda!
Informasi lainnya yang perlu Anda ketahui adalah situs saya tersebut menggunakan dua bahasa, yaitu: Bahasa Inggris dan Bahasa Indonesia (di mana bahasa standar-nya adalah: Indonesia).
Jadi, inilah yang sudah saya lakukan pada plugin WPML versi 1.8.0:
-
Buka berkas /wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php, lalu saya temukan kode yang ini:
3399 3400 3401
}elseif(is_search()){ $url_glue = strpos($this->language_url($lang['code']),'?')===false ? '?' : '&'; $lang['translated_url'] = $this->language_url($lang['code']) . $url_glue . 's=' . htmlspecialchars($_GET['s']);
lalu setelah baris terakhir dari kode tadi, saya tambahkan kode berikut:
3403 3404 3405 3406 3407 3408 3409
}elseif(is_pod_page() ) { // Modified by Masino Sinaga, July 14, 2010 global $slug_en, $slug_id; if ($lang['code']=='en') { $lang['translated_url'] = $slug_en; } else { $lang['translated_url'] = $slug_id; } // Modified by Masino Sinaga, July 14, 2010
-
Berikutnya, buka berkas functions.php yang berada di dalam direktori tema yang sedang saya gunakan, dan kemudian saya menambahkan baris kode berikut di bagian paling atas/deklarasi berkas tersebut:
global $slug_id, $slug_en;
kedua variabel itu penting untuk mengatakan kepada WPML bahwa di templat Pods yang saya buat, saya menggunakan mereka untuk mendapatkan tautan yang berasal dari konten Pods saya.
-
Sedangkan di templat Pods yang berada di direktori tema yang saya gunakan itu, saya pun menambahkan kode berikut:
global $slug_id, $slug_en; $slug_id = site_url().'/propinsi/'.$Record->get_field('slug_id'); $slug_en = site_url().'/en/province/'.$Record->get_field('slug_en');
Ini hanyalah salah satu contoh penggunaan saja, bagaimana saya menugaskan kepada dua variabel yang sudah saya sebutkan di atas tadi, sehingga tempat Pods ini akan menyimpan nilai tautan, kemudian berkas functions.php di tema tersebut akan bertindak sebagai jembatan antara Pods dan WPML. Dengan kata lain, nilai dari variabel yang berasal dari konten di Pods tersebut akan dikenali oleh WPML melalui berkas functions.php tadi.
Anda dapat melihat demonya dari tautan berikut:
Salah satu kode dan nama wilayah di Indonesia. Seperti yang Anda lihat sekarang, penukar bahasa (yang berada di sidebar kanan, dan juga pada bagian paling bawah situs) otomatis menambahkan tautan yang berasal dari plugin Pods CMS, baik untuk bahasa Inggris, maupun untuk bahasa Indonesia.
Anda akan melihat bahwa tautan-tautan terjemahan itu seolah-olah seperti tautan milik Tulisan (Posts) atau Halaman (Pages) di WordPress asli, tapi kenyataannya bukan. Mereka itu ternyata berasal dari konten di Pods saya, kawan-kawan!
Hebat, ‘kan? Dan, begitu senangnya saya dengan hasil dari modifikasi tersebut!

Komentar Terakhir