Kategori
Wordpress Plugins

Exclude Plugins: Solusi “mengamankan” Plugin pada WordPress 3.0 Multisite

Opsi Multisite pada WordPress 3.0 memungkinkan kita untuk membuat banyak blog dalam satu instalasi. Blog ini dapat kita pakai sendiri ataupun dibagi untuk umum sebagai suatu layanan blog gratis ataupun berbayar. Layanan blog gratis ini contohnya dapat kita lihat pada instalasi blogdetik.com dan yang paling populer tentu saja wordpress.com.

Kelemahan dari wordpress.com adalah kita tidak diberi hak untuk memanage plugin. Sebenarnya banyak plugin yang ditanam di wordpress.com tapi masalah mengaktifkan atau menonaktifkan plugin sepenuhnya ada di tangan Super Admin.

Lain halnya dengan blogdetik.com, mereka meyediakan halaman plugin agar kita bisa memilih plugin mana yang akan diaktifkan, meskipun ada plugin default yang sudah diaktifkan oleh Super Admin dan “harus” aktif di semua blog. Kelemahannya adalah tidak ada plugin yang tersembunyi atau hanya boleh dipakai sendiri oleh Super Admin alias si empunya instalasi. Sehingga si empunya tersebut tak bisa memakai plugin hebat semisal All In One SEO Pack atau Platinum SEO tanpa membuatnya tersembunyi dari pengguna biasa. Padahal plugin tersebut cukup memberatkan bagi server, yang bila diinstal di semua blog tentunya dapat membuat kita disuspend oleh yang punya hosting gara-gara terlalu banyak memakan resources.

Dari kedua skenario di atas nampak bahwa di wordpress.com para pengguna kurang bergairah gara-gara tak bisa mengaktifkan atau menonaktifkan plugin, sedangkan di blogdetik.com si empunya yang kurang bergairah buat blog di blognya sendiri gara-gara tak bisa memakai plugin secara eksklusif.

Untuk itulah saya membuat plugin ini. Exclude Plugins. Plugin ini bekerja dengan cara membolehkan sebagian plugin untuk pengguna biasa (included plugins) sementara menyembunyikan plugin-plugin hebat (excluded plugins) hanya untuk si empunya blog.  Jadilah semua senang 🙂

Download Exclude Plugins.

Glossary:
Super Admin: Administrator yang mempunyai kuasa penuh atas semua blog pada suatu instalasi WordPress multisite, berbeda dengan administrator biasa yang hanya memiliki kuasa atas blognya sendiri.

Kategori
Selingan

Tidak aktifnya situs sd.ppdbdki.org ternyata juga sangat berpengaruh pada kami

Beberapa saat yang lalu para orang tua murid sibuk sekali mencari informasi untuk menyekolahkan anaknya. Kebetulan dinas Pendidikan DKI mengumumkan bahwa terdapat situs web untuk melihat secara online. Situs web itu adalah www.ppdbdki.org dan untuk SD adalah sd.ppdbdki.org yang harusnya bisa diakses mulai 15 Juni.

Yang menjadi masalah adalah website itu tidak juga muncul sesuai tanggal yang dijanjikan. Seperti yang bisa dibaca dari dua surat pembaca ini dan ini. Sangat kebetulan sekali, salah satu website kami yaitu direktori website daftarweb.org memuat suatu kata yang mengandung ppdbdki sehingga ada trafik yang masuk ke daftarweb.org karena para ortu yg getol mencari lewat google setelah website sd.ppdbdki.org tidak bisa dibuka.

Pada jauh-jauh hari sebelum tanggal 15 para orang tua sudah mulai mencari, tapi volumenya masih sedikit. Saat tanggal 14, itulah bencana bagi kami. Situs daftarweb.org dibanjiri oleh trafik karena kebetulan daftarweb.org mempunyai SERP yang tinggi untuk kata kunci ppdbdki (di halaman 1 google) — jelas karena situs ppdbdki tidak aktif —. Dari yang biasanya cuma 3 ribu – 7 ribu hit per hari menjadi 31 ribu hit pada tanggal 14 sebelum situs daftarweb.org diblok oleh pihak hosting. Sepertinya angka 31 ribu itu-pun bukan hasil satu hari, tapi dalam hitungan jam saja. Entah ada berapa hit per jam sebenarnya pada tanggal 14 itu yang masuk ke kami dan pastinya memang membebani server.

Celakanya adalah pihak hosting tidak cuma ngeblok, tapi juga mendelete suatu table di database yang berisi data-data website. BENCANA!!! …. dan kami baru tahu kejadian ini hari ini (4 hari kemudian) karena kebetulan kami sedang sibuk di pekerjaan lain sehingga beberapa hari tidak mengecek daftarweb.org.

Hari ini daftarweb.org sudah online kembali, tapi dengan data yang 4 bulan lalu, karena kami hanya bisa mendapati back-up-an database yang paling baru yang dilakukan pada bulan maret. Betapa sayangnya, setelah kami hitung ternyata ada 1600-an update manual selama 4 bulan terakhir yg terbuang. Dan pastinya ratusan website yang mendaftar selama empat bulan terakhir itu datanya ikut hilang.
1600 itu tidak sedikit. Pekerjaan 4 bulan yang terbuang sia-sia hanya karena situs sd.ppdbdki.org yang tidak aktif ….

(angry) Inilah hasil dari pejabat yg tidak menepati janji. Efeknya pun dirasakan oleh orang biasa seperti kami…

Kategori
WordPress

Mengaktifkan opsi multisite dalam WordPress 3.0

WordPress 3.0 baru saja direlease sesaat yang lalu. WordPress 3.0 merupakan sebuah perubahan besar. Saat di mana kehebatan WPMU dimasukkan dalam WordPress sehingga memungkinkan kita menjalankan banyak blog dari satu instalasi WordPress.

Bagi yang belum tahu apa itu WPMU (WordPress Multi User) silahkan tengok wordpress.com atau blogdetik.com atau blog.friendster.com … itu contoh instalan WPMU.

Opsi multisite pada WordPress 3.0 ini tidak aktif secara default. Kita harus mengaktifkannya dengan cara pertama kali mengedit file wp-config.php yang terletak di folder utama instalasi wordpress. Dalam file tersebut masukkanlah satu baris:
define('WP_ALLOW_MULTISITE', true);
Setelah itu pada wp-admin akan muncul opsi baru yaitu Tools > Network.

Kemudian akan muncul halaman seperti di bawah ini.  Memasukkan settingan awal lalu klik install.


Kemudan halaman tersebut akan berganti menjadi beberapa perintah yg harus dilaksanakan.

Yang harus dilakukan selanjutnya adalah mengedit 2 file. File yang pertama seperti yang tadi sudah diedit yaitu wp-config.php dan satu file lagi bernama .htaccess . Jika .htaccess belum ada, buat saja file baru. Tinggal copas saja yang ada di halaman itu. dan whala….. jadilah wordpress mutisite. Tak perlu menginstal wordpress lagi setiap mau buat blog baru. Hemat tempat, hemat bandwidth buat upload 🙂 .

Secara default, kita hanya bisa membuat blog baru menggunakan subdomain dari blog utama. Untuk bisa menggunakan nama domain yang lain, maka kita perlu menginstal plugin Domain Mapping.  Gampang khan?!

Tadi pas nyobain ngingstal WP 3.0-RC3 dan ngubek-ubek plugin , eeeeeh menemukan sebuah bug… Langsung aja kulaporkan ke sana core.trac.wordpress.org/ticket/13944 yang ternyata severity-nya blocker (woot) yang berarti parah tingkat paling tinggi di atasnya highest (woot) . Untung saja segera kulaporkan sehingga WP 3.0 yang diluncurkan beberapa jam kemudian sudah terbebas dari bug parah itu.

Kategori
Indonesia

Tak Ada Tabung Gas yang Meledak di Setiap Kejadian Tabung Gas Meledak

lhoh.. judulnya koq bikin mumet?
iya.. aku sendiri juga mumet, soalnya memang tabung gas-nya gak meledak koq.

Jika ada yang bertanya apa yang menyebabkan tabung gas meledak jawabnya apa?
Saya gak bisa jawab, soalnya tak pernah ada kasus tabung gas meledak. (lol)

Jadi, apa dong yang meledak?
Yang meledak ruangannya. Ruangan itu terisi oleh Gas yang bocor, lalu gas bocor tersebut tersulut oleh api, sehingga meledaklah ruangan itu. Dan setelah kejadian tu ternyata tabung gas-nya masih utuh, paling banter cuma gosong2 karna terbakar. Jadi, di semua kasus yang katanya tabung gas meledak itu ternyata tabung elpiji-nya tak ada satupun yang meledak.

Gimana caranya mengatasi gas bocor itu?
Yang paling sering terjadi adalah klep/karet/o-ring/rubber pada tabung yang tidak rapat. Tandanya adalah saat regulator dipasang, terjadi kebocoran di antara regulator dan tabung dan tercium bau gas. Saya sendiri dikasih banyak sekali klep ini oleh penjual gas tetangga saya, biar kalo klep bocor bisa ganti sendiri.  Kalo sebabnya slang atau regulator yg bocor, ya tinggal beli aja yang baru.

Yang patut dipersalahkan tentang masalah ini siapa?
Wah, sukanya koq menyalahkan orang lhoooo… Tap kalo bener mau menyalahkan ya yang salah media massa,

Loh. koq yang salah malah media massa?
Hahahaha…. saya kan cuma mbahas dari segi bahasanya bos.  Jadi tentang bahasa yang salah kaprah ini, jelas sekali yang salah adalah media massa. Karena media massa menyebarkan berita tidak benar tentang tabung gas yang meledak, padahal tak ada satupun tabung gas yang meledak. Ingat, tak ada tabung gas yang meledak. Yang paling benar adalah Ledakan karena Gas. Tapi jika terpaksa, boleh lah memakai istilah “gas meledak”, meskipun sebenarnya gas itu bukan yang meledak, tapi yang menyebabkan rumah/ruangan meledak.  ….

Kategori
WordPress

Mendesain Theme WordPress untuk direlease publik

Mendesain Theme WordPress itu mudah bagi yang bisa desain web. Asal edit sana – edit sini, taruh tag di sana – taruh tag di sini, jadi. Tapi ada hal tertentu yang harus diperhatikan jika ingin mereleasenya secara publik. Kalo mau dipake sendiri sih asal-asalan juga bisa.

Sebenarnya bisa saja sih, theme asal jadi itu direlease publik, tapi belum tentu bisa masuk ke Themes directory wordpress. Di situ aturannya cukup ketat. Makanya banyak orang yang mendesain wordpress tapi tidak dimasukkan di situ. Padahal di situlah tempat yang paling baik agar Theme kita diketahui dan didownload banyak orang. Karena yang pasti tempat itu “resmi” dan bisa diakses dari wordpress admin yang memungkinkan pengunduhan langsung ke server hostingan kita tanpa harus repot mendownload ke komputer kita lalu menguploadnya lagi ke hostingan.

Beberapa yang harus diperhatikan agar theme kita diterima di direktori theme resmi adalah:

1. Hindari Short Open Tag

Short Open Tag merupakan kependekan open tag. Berupa lambang <? untuk memendekkan <?php dan berupa <?= untuk memendekkan <?php echo. Hal ini harus dihindari karena tidak semua server mengaktifkan fitur ini, sehingga theme buatan kita tidak akan bisa jalan di server tersebut.

2. Jangan gunakan fungsi base64_decode()

Biasanya fungsi ini digunakan untuk mengaburkan suatu kode tertentu di dalam theme.  Biasanya berisi kode link ke website si pembuat theme atau bisa juga link sponsor. Si pembuat theme melakukan pengkaburan itu biasanya karena tidak ingin kode (link) itu dihapus oleh si pemakai. Walaupun sebenarnya bagi yang paham PHP, tidak susah untuk menghapus link tersebut.

Karena adanya kemungkinan “malware” dalam kode yang terkaburkan itu, maka fungi itu terlarang.

3. Jangan ada variabel $_GET[''], $_POST[''], $_REQUEST['']

Kode-kode ini rentan disalahgunakan.  Untuk diketahui, wordpress sudah menyediakan banyak fungsi2 untuk kita gunakan. Coba aja cek Function_Reference dan Template_Tags siapa tahu kta tak butuh query var. Namun jika kita memang ingin memanfaatkan/mengambil suatu query tertentu buatan kita, maka wordpress membolehkan kita menambahkan suatu query var sehingga bisa dimanfaatkan oleh wordpress secara aman.

Di dalam theme buatan itx misalnya, terdapat fungsi:

add_filter('query_vars', 'itx_add_new_var');
function itx_add_new_var($vars) {
    $vars[] = 'itx_css';
    return $vars;
}

Kode tersebut menambahkan query var baru ke wordpress dengan nama itx_css. Query var tersebut lalu bisa dipanggil menggunakan get_query_var('itx_css') yang secara efektif menggantikan variabel $_GET['itx_css'].

4. Hapus semua file thumbs.db

Thumbs.db merupakan file cache gambar yang diperuntukkan untuk mempercepat tampilan thumbail pada windows explorer. File ini samasekali tidak berguna di internet,  dan seringkali ukurannya besar yang bisa memperbesar ukuran download pula.

5. Sertakan gambar screenshot.

Gambar screenshot itu bernama screenshot.png, dan harus benar-benar screenshot dari theme ybs. Pastikan logo atau warna header merupakan tampilan default, bukan logo yang harus diupload yang tak nampak secara default.

6. Sertakan style.css yang berisii

  • Nama (harus unik di diretori tersebut)
  • Tags
  • Versi (dalam format x.x atau x.x.x dan harus unik di theme ybs.)
  • Class untuk align yaitu .alignright, .alignleft, .aligncenter (lihat http://codex.wordpress.org/CSS untuk selengkapnya)

7. Jangan lupa memanggil wp_head() di bagian header dan meanggil wp_footer() di bagian footer.

8. Buang link yang bisa tertampil di theme.

Biasanya link ada pada footer. WordPress melarang theme berisi link sponsor. Link yang tertampil hanya boleh link ke wordpress dan link ke website si pembuat theme.

9. Sertakan lisensi.

Lisensi herus kompatibel dengan GPL version 2 . Tinggal masukkan saja GPL.txt ke folder theme-mu, dan tambahkan deklarasi lisensinya. Bisa di buat suatu file misalnya license.txt atau readme.txt untuk mendeklarasikan, atau bisa diletakkan di style.css. Contohnya seperti yang terdapat di theme Calotropis bagian atas style.css:
Both the design and code are released under GNU GPL v3; in addition, links in the footer must remain intact as is. http://www.gnu.org/licenses/
Kita bisa menambahkan syarat lisensi tu, dalam hal ini misalnya link tidak boleh dihapus.

10. Jangan lupa memanggil comment-reply.js

File javascript ini berfungsi meletakkan kolom submit comment di bawah komen ybs ketika kita mengklik reply. Sejak wordpress versi 2.7 yang mendukung threaded comments, maka file ini wajib dipanggil untuk memudahkan reply ke suatu komentar. Jadi tak perlu melakukan scroll ke atas – ke bawah jka ingin mereply suatu komentar.

Untuk memanggilnya, masukkan kode ini di bagian header:

<?php if (is_singular()) wp_enqueue_script( 'comment-reply' );?>

Theme buatanku tertampil di Newest Themes

Setelah semuanya selesai, tinggal dikompress jadi .zip lalu diupload ke Themes directory.

Kata mereka, sebaiknya menggunakan browser Opera untuk mengupload, karena browser lain mungkin akan salah mengirimkan header. Tapi santai saja, gunakan browser biasa juga gpp, sistem meraka akan memberitahu jika ada kesalahan dan diharuskan memakai browser Opera 😀 .

Ketika kita selesai mengupload, sistem akan melakukan pengecekan standar tentang kode-kode di dalam file upload-an kita itu. Pengecekan otomatis ini meliputi poin 1-5 dari yang telah saya utarakan di sini. Jika masih ada kesalahan perbaikilah, lalu mengupload lagi. Setelah pengecekan otomatis lolos, maka ada pengecekan manual yang dilakukan oleh mereka. Kita harus menuggu di-review yang waktunya menurut pengalaman saya berkisar antara 3  sampai 10 hari.

WordPress akan memberikan balasan jika memang theme buatan kita ditolak. Mereka akan menyebutkan secara spesifik apa yang “kurang” dari theme kita. Setelah itu kita bisa memperbaki kekurangan itu dan mengupload versi baru-nya ke situ. Dan berharap bisa diterima.

Jika theme buatan kita tidak diterima direktori theme resmi, dan kita memutuskan untuk tidak memperbaiki, jangan khawatir. Ada banyak direktori theme lain yang tidak seketat direktori resmi. Saya tidak daat menyebutnya satu-satu karena jumlahnya cukup banyak. Atau, tampilkan saja di website kita, tak perlu dimasukkan ke direktori theme… Mudah khan?!

Kategori
WordPress

Calotropis diterima di Themes Directory-nya WordPress

Akhirnya Calotropis diterima juga.  Pertama kali submit ke themes directory ditolak 🙁 , tapi akhirnya setelah diperbaiki sesuai panduan mereka sehingga diterima juga deh :-). Versi 1.0 kuupload tanggal 11 Mei dan mereka memberi balasan tanggal 20 Mei, agak lama juga. Sempet kuatir gak ke-review.

Setelah email penolakan itu kuterima, kubaca dengan perasaan berkecamuk dan  kucermati alasan penolakannya maka saya bisa berintrospeksi, merenungi apa saja yang kekuranganku (–lhoh koq malah kaya’ ditolak apa nih?!). Segera setelah itu Calotropis direvisi dan jadilah vers 1.1 diupload tanggal 25 Mei, dan ternyata hari ini sudah diterima … senangnya.

Theme ini mbuatnya agak lama, soalnya ada theme-optionsnya. Berarti gak cuma bikin desain, tapi juga programming agar bisa ngatur-ngatur tampilan. Setelah itu selesai-pun musti ngecek pake semua browser, ya gak semua sih sebenarnya.. hehe… yang jelas musti terlihat benar di 4 besar browser yatu Firefox, Internet Explorer, Chrome, dan Opera.

Yang paling susah, ya tau sendiri lah namanya IE 6, lalu IE 7… browser itu buggy banget… Mungkin ada yang bertanya-tanya bagaimana aku bisa ngetes beberapa versi IE 6 dengan mudah? Bukan dengan beberapa komputer yang diinstal IE dengan versi berbeda-beda, tapi cukup menggunakan iecollection yang bisa nginstall IE (hampir) semua versi untuk bisa digunakan semuanya dalam satu komputer… Enak khan?! gak perlu ngetes di banyak komputer.

Calotropis fiturnya banyak lhooooo. Ada beberapa kombinasi sidebar, bisa kanan, bisa kiri, bisa kanan-kiri. Bisa ngupload header buatan sendiri, bisa pake background sendiri. Bisa milih dari beberapa warna yang disediakan. Pokoke macem-macem lah.. coba aja sendiri.

Calotopis bisa didownload di sini. Enjoy!

Kategori
Selingan

SMART menggila… tak bisa login cPanel

Sejak kemaren aku agak stress gara-gara tak bisa login ke cPanel dan WHM. Masukin username dan password tapi gagal terus… (panic) .  Saat itu juga kuberpikir bahwa cPanelku kena hack.

Kemudian aku mencoba login ke beberapa websiteku, kebetulan aku pake dua hostingan yang berbeda… dan semuanya gagal login (panic) …. Setelah itu kucoba-coba login email pake Mozilla Thunderbird ternyata bisa… loh kok aneh…. trus nyoba  FTP pake FileZilla dan bisaaaaa… loh koq tambah aneh. Brarti ini bukan karena kena hack.

Trus aku berpikir kemungkinan ada di browser… coba deh pake banyak browser mulai dari Chrome, FF, IE, Opera  gagal semua. Lhoh.. jadi apa donk? gak mungkin kalo di sisi hostingan, soalnya aku pake dua hostingan yang berbeda semuanya tak bisa masuk cPanel.

Kucoba langsung pake 2082 ( http://itx.web.id:2082/) gagal, pake yang https (https://itx.web.id:2083/) gagal juga,  kucoba di port 2086 juga gagal…. Semuanya merujuk pada satu kemungkinan yatu provider internetku… kebetulan aku pake SMART.  Apa si SMART ni memblokir port2 itu????

Ternyata setelah dicek lagi.. si SMART ini mengubah IP secara dinamik. jadi setiap kita mengakses suatu website IP-nya berubah2… menggila ini…. biasanya kan IP berubah hanya saat kita men-dial lagi. Ini tidak begitu. IP-nya berubah terus saat kita mengakses suatu website. Aku coba ngecek IP yang terbaca oleh server pake ini:  http://itx.web.id/ip.php . Saat direfresh, IP kita berubah terus … 202.70.59.119 trus 202.70.59.175 trus 202.70.59.226 dst… pokoknya berubah terus saat di-refresh. Setiap detik berubah!! Padahal cPanel kan mencatat login kita melalui IP, kalo IP berubah dianggap sudah beda orang…


Bener-bener gak bener ini…  (annoyed)  bisa-bisa gak bisa login ke cPanel dan WHM selamanya ini ………..  (eyeroll)  .

NB: tapi ada enaknya, kalo kita donlot dari rapid atau 4shared atau web-web file sharing semacam itu, jadinya lancar jaya, gak perlu ada nunggu beberapa detik. Tinggal ngeklik-ngeklik langsung bisa donlot  😀  .

Kategori
jQuery

Efek warna memudar pada link dengan jQuery

jquery effectSudah jamak dipakai efek hover saat mouse diletakkan di atas sebuah link. Cara paling sederhana adalah menggunakan CSS yaitu dengan menggunakan deklarasi :hover. Sekarang kita akan membuat efek hover ini lebih manis, yaitu dengan menggunakan jQuery. Saat mouse diletakkan di atas link, warnanya akan berubah, kemudian saat mouse dikeluarkan dari atas link tersebut warnanya akan memudar perlahan menuju ke warna asal.

Demo:

Link 1

Link 2

Link 3

%CODE1%

The Oldschool

Efek hover menggunakan CSS. Efek sederhana ini yang paling sering digunakan. Ketika mouse masuk dan mouse keluar dari link, warna akan berubah.

[sourcecode language=”css”]<style type="text/css">
#oldschool a{color:#999}
#oldschool a:hover{color:red}
</style>[/sourcecode]

Padanannya dengan jQuery:

Tanpa CSS, warna-warna tersebut langsung dimasukkan dalam script menggunakan method .css()

[sourcecode language=”javascript”]<script type="text/javascript">
$(function(){
$(‘#oldschool a’).hover(
function(){$(this).css(‘color’,’red’)},
function(){$(this).css(‘color’,’#999′)});
};
</script>[/sourcecode]

Dengan menggunakan CSS, warna-warna didefinisikan dalam CSS, lalu manipulasinya menggunakan method .addClass() dan .removeClass().

[sourcecode language=”javascript”]<style type="text/css">
#oldschool a, .moout {color:#999}
.moin {color:red}
</style>
<script type="text/javascript">
$(function(){
$(‘#oldschool a’).hover(
function(){$(this).addClass(‘moin’).removeClass(‘moout’)},
function(){$(this).addClass(‘moout’).removeClass(‘moin’)})
};
</script>[/sourcecode]

Demo:

Link 1

Link 2

Link 3

%CODE2%

The Effect

Efek ini menggunakan plugin jQuery Color jadi pastikan plugin itu juga dimuat di halaman ybs. Jika menggunakan wordpress, cukup menambahkan baris <?php wp_enqueue_script('jquery-color');?> pada file template kita.

Tanpa CSS, yaitu dengan memasukkan warnanya langsung ke dalam script.

[sourcecode language=”javascript”]<script type="text/javascript">
$(function(){
$(‘#contoh a’).hover(
function(){$(this).stop().css({‘color’:’red’})},
function(){$(this).stop().animate({‘color’:’#999′},500)}) });
</script>[/sourcecode]

Menggunakan CSS, scriptnya akan mengambil warna dari CSS yang didefinisikan di luar script itu sendiri. Cara ini akan memudahkan merubah-rubah warna hanya dengan mengubah CSSnya, tidak perlu melihat ke script ini.

Karena efek .animate() pada jquery tak dapat mengambil nilai dari CSS secara langsung, maka kita buat dummy tag untuk mengambil warna dari CSS.

[sourcecode language=”javascript”]<style type="text/css">
#dummyin, .moin {color:red}
#dummyout, .moout, #contoh a {color:#999}
</style>
<script  type="text/javascript">
$(function(){
var moin=$(‘#dummyin’).css(‘color’);
var moout=$(‘#dummyout’).css(‘color’);
$(‘#contoh a’).hover(
function(){$(this).stop().css({‘color’:moin})},
function(){$(this).stop().animate({‘color’:moout},500)});
});
</script>
<div id="dummyin" class="in"></div>
<div id="dummyout" class="out"></div>
[/sourcecode]

Saksikan efek ini pada link di website ini dan semua blog yang memakai theme-theme buatan itx.

Jadi lebih cantik bukan?!

Kategori
WordPress

Menggunakan alamat website sebagai OpenID kita:

openid logoTak ingat password? Capek mengisi form registrasi? OpenID adalah cara aman, lebih cepat dan lebih mudah untuk login ke berbagai website.

Itulah tagline yang terbaca dari homepagenya OpenID. OpenID adalah nama login universal untuk mengautentikasikan kita ke blog atau website yang mendukung OpenID, tanpa perlu mengisi form registrasi lagi dan lagi. Biasanya berbentuk sebuah URL, seperti halnya itx menggunakan itx.web.id sebagai OpenID, yang berarti itx bisa login di website yang mendukung OpenID cukup dengan menggunakan URL itu.

Hebatnya, jika kita sudah memiliki salah satu fasilitas berikut, maka kita sudah mempunyai OpenID.

google logomasukkan
Google Profile URL berupa http://google.com/profiles/me
yahoo logo
cari tombol “sign in with yahoo” atau masukkan OpenID Yahoo berupa https://me.yahoo.com/username
myspacemasukkan: www.myspace.com/username
bloggermasukkan: namablogmu.blogger.com
flickrcari tombol “sign in with yahoo” atau masukkan: www.flickr.com/username
wordpressmasukkan: username.wordpress.com

Cara Login dengan OpenID.

(cara ini terdapat pada website OpenID)

1. Katakanlah kita mengunjungi suatu website yang mendukung OpenID.

Ketika akan masuk kita akan dihadapkan pada form login kurang lebih seperti berikut: Login OpenID

Perhatikan bahwa dengan sistem OpenID kita hanya butuh menulis satu hal: OpenID-kita. Contoh ini menununjukkan itx yang punya OpenID itx.web.id.

2. Setelah form login itu disubmit, maka browser akan membawamu dari website yang kita kunjungi ke website penyedia OpenID milik kita.

pindah halaman

Dalam Contoh ini, penyedianya adalah itx.web.id

Si penyedia -itx.web.id dalam contoh ini- menemira pesan, pesan ini menanyakan pada penyedia:

“Seseorang mengklaim sebagai itx.web.id. Apakah dia benar adalah itx? Bisakah dia login ke website kami?”

3. Penyedia kemudian mengecek apakah kita benar-benar adalah yang kita bilang.

Jika kita telah login pada penyedia OpenID, maka kita langsung lanjut ke tahap 4.

Jika tidak, kita harus memasukkan username dan password untuk si penyedia OpenID tersebut. Dengan cara inilah penyedia OpenID yakin bahwa kita adalah benar-benar kita.

4. Sekarang kita telah terbukti sebagai pemilik OpenID tersebut.

Selanjutnya penyedia ingin meyakinkan apakah kita benar-benar ingin masuk ke website yang meminta login dan apakah kita bersedia membagi informasi dengannya.

Sekarang ini, website biasanya hanya butuh penyedia mengecek apakah kita sebagai pemilik OpenID itu, tapi ada beberapa website yang ingin tahu lebih banyak, seperti alamat email kita yang digunakan untuk maksud “tertentu”.

Penyedia menanyakan informasi mana yang ingin dibagi, dan mana yang tidak. Biasanya kita juga diberi opsi untuk memberikannya sekali atau otomatis ketika website tersebut memintanya.

Yang harus dilakukan adalah memilih seberapa banyak informasi untuk diberi dan apakah memberikannya sekali saja atau otomatis saat website teersebut memintanya.

Sekarang, si penyedia mengirim kita kembali ke website yang kita kunjungi tersebut dan memberikan informasi yang telah kita perbolehkan untuk dibagi. Kita sekarang telah login!

Membuat nama website kita menjadi OpenID kita

Meskipun itx telah punya OpenID dari berbagai penyedia yang telah disebutkan di atas, tapi lebih enak jika punya id yang benar2 unik, yaitu website itx.web.id. Betul?!

OpenID mempunyai sifat desentralisasi, yang artinya semua orang boleh menjadi penyedia OpenID. Kita bisa menjalankan server OpenID sendiri tentunya (misalnya menggunakan phpMyID), tapi ada banyak penyedia yang menghostkan ID untuk kita. Misalnya livejournal dan myopenid.

Kita cukup menambahkan baris berikut pada bagian HEAD homepage website kita, agar bisa jadi OpenID kita.

Menggunakan LiveJournal :

<link rel=”openid.server”
href=”http://www.livejournal.com/openid/server.bml” />
<link rel=”openid.delegate”
href=”http://username-lj-milikmu.livejournal.com” />

atau menggunakan myOpenID:

<link rel=”openid.server”
href=”http://www.myopenid.com/server"/>
<link rel=”openid.delegate”
href=”http://username-myopenid-milikmu.myopenid.com” />

Kode di atas yang berada di bagian HEAD akan memberitahu pada pengguna bahwa website kita  mendelegasikan validasi pengguna ke http://username-myopenid-milikmu.myopenid.com dengan server http://www.myopenid.com/server. Dan jadilah website kita menjadi OpenID kita 😀

Membuat nama website berbasis wordpress kita menjadi OpenID kita

itx bukan ingin bicara tentang wordpress.com, -ya- itu merupakan salah satu penyedia OpenID, tapi itx bicara tentang blog berbasis wordpress seperti itx.web.id ini.

Caranya sangat-sangat mudah. cukup pasangi plugin OpenID. that’s it. Mudah bukan?!

Setelah dipasangi plugin itu, itx dapat login di mana-mana menggunakan itx.web.id :D. Para pengunjung itx.web.id-pun dapat komen di sini setelah login dengan OpenID mereka masing-masing. Enak bukan?!

Biar tampilan komen lebih oke:

Pasangi saja plugin RPX, dengan begitu para pengunjung bisa komen dan login dengan lebih mudah, lebih intuitif dibanding plugin OpenID. Selain itu mendukung login menggunakan facebook connect, twitter, blogger, yahoo, google, wordpress.com, dan lain-lain pula.

Sayangnya dia tidak dibekali dengan kemampuan server seperti halnya plugin OpenID. Jadi, dipasangi keduanya saja. Mudah bukan?!

atau jika tak ingin memasang plugin OpenID, cukup masukkan kode berikut di halaman header.php ada template wordpress kita:

<?php if ( is_home() && $paged < 2 ) { ?>
<link rel=”openid.server”
href=”http://www.myopenid.com/server"/>
<link rel=”openid.delegate”
href=”http://username-myopenid-milikmu.myopenid.com” />
<?php } ?>

Jadi, tunggu apa lagi?! Gunakan nama website kita menjadi OpenID….

Kategori
WordPress

Menggabungkan jQuery dan blog WordPress kita:

Tentunya kita sudah mengenal jQuery sebagai salah satu tool (biasa disebut JavaScript Library) untuk membuat interaksi website kita lebih oke dengan programming yang lebih simple dibanding javascript biasa. Sangat sesuai dengan slogannya yaitu write less do more. Untuk menambahkan fungsi jquery ke dalam halaman web kita, cara yang biasa dilakukan adalah menambahkan baris sbb:

<script type="text/javascript" src="/path/ke/file/jquery.js"></script>

Hal ini hanya jika file jquery.js kita taruh di hosting kita bersama-sama dengan file-file yang lain. Dalam contoh di atas terdapat pada folder /path/ke/file/ . File jquery.js ini dapat pula kita dapatkan tanpa perlu menaruhnya di hosting kita. Caranya adalah dengan menggunakan file yang dihost di g00gle misalnya:

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>

atau bisa juga:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.4.2");
</script>

atau yang dihost di Micr0s0ft:

<script type="text/javascript"
src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>

Dengan ini kita tak perlu mendownload lalu menguploadnya ke hostingan kita. Mudah bukan?!

jQuery di WordPress

jQuery sudah dimasukkan dalam script standar WordPress tapi tidak dimuat secara default. Dengan kata lain library ini sudah termasuk dalam file instalasi WordPress. Untuk memuatnya kita perlu mengedit template WordPress kita sehingga memanggil fungsi wp_enqueue_script(), contohnya sbb:

<?php wp_enqueue_script('jquery') ?>

Fungsi itu bisa dipanggil berapa kalipun di halaman template manapun dan tak perlu takut akan dobel-dobel, karena WordPress cuma akan memuatnya satu kali saja. Jika kita tengok source hasil keluarannya akan nampak kurang lebih sbb:

<script type='text/javascript'
src='http://itx.web.id/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>

Baris itu akan otomatis tertampil di dalam tag <head> sesuai dengan halaman di mana script itu dipanggil dengan fungsi wp_enqueue_script() . Jika ingin tampil di semua halaman, panggil saja di halaman template header.php atau footer.php. Mudah bukan?! Selain jQuery core, WordPress (pada versi 2.9.2) juga menyertakan script lain yang dapat dipanggil dengan wp_enqueue_sript() yaitu:

Nama Script dipanggil dengan:
Scriptaculous Root scriptaculous-root
Scriptaculous Builder scriptaculous-builder
Scriptaculous Drag & Drop scriptaculous-dragdrop
Scriptaculous Effects scriptaculous-effects
Scriptaculous Slider scriptaculous-slider
Scriptaculous Sound scriptaculous-sound
Scriptaculous Controls scriptaculous-controls
Scriptaculous scriptaculous
Image Cropper cropper
SWFUpload swfupload
SWFUpload Degarade swfupload-degrade
SWFUpload Queue swfupload-queue
SWFUpload Handlers swfupload-handlers
jQuery jquery
jQuery Form jquery-form
jQuery Color jquery-color
jQuery UI Core jquery-ui-core
jQuery UI Tabs jquery-ui-tabs
jQuery UI Sortable jquery-ui-sortable
jQuery UI Draggable jquery-ui-draggable
jQuery UI Droppable jquery-ui-droppable
jQuery UI Selectable jquery-ui-selectable
jQuery UI Resizable jquery-ui-resizable
jQuery UI Dialog jquery-ui-dialog
jQuery Interface interface
jQuery Schedule schedule
jQuery Suggest suggest
ThickBox thickbox
jQuery Hotkeys jquery-hotkeys
Simple AJAX Code-Kit sack
QuickTags quicktags
ColorPicker colorpicker
Tiny MCE tiny_mce
Prototype Framework prototype
Autosave autosave
WordPress AJAX Response wp-ajax-response
List Manipulation wp-lists
WP Common common
WP Editor editor
WP Editor Functions editor-functions
AJAX Cat ajaxcat
Admin Categories admin-categories
Admin Tags admin-tags
Admin custom fields admin-custom-fields
Password Strength Meter password-strength-meter
Admin Comments admin-comments
Admin Users admin-users
Admin Forms admin-forms
XFN xfn
Upload upload
PostBox postbox
Slug slug
Post post
Page page
Link link
Comment comment
Admin Gallery admin-gallery
Media Upload media-upload
Admin widgets admin-widgets
Word Count word-count
WP Gears wp-gears
Theme Preview theme-preview

Enaknya lagi,  jika kita memanggil suatu script yang tergantung pada script lain, maka otomatis semua dependencies akan dipanggil. Misalnya kita memanggil jQuery UI Dialog yang hanya bisa berjalan dengan adanya script jQuery dan jQuery UI Core  dengan menggunakan fungsi sbb:

<?php wp_enqueue_script('jquery-ui-dialog') ?>

Maka kita tak perlu lagi memanggil script jQuery ataupun jQuery UI Core karena keduanya otomatis terpanggil. Mudah bukan?!

Menggunakan jQuery di WordPress

Misalnya kita akan membuat suatu link berubah warna jika mouse dihover di atasnya, lalu warnanya memudar secara perlahan jika mouse ditarik keluar. Hasilnya dapat dilihat di theme Albizia pada link di bagian navigasi, sidebar, dan footer. Scriptnya sbb:

$(function(){
  $('#sidebars a,#footbar a,#menu a').hover(
     function(){$(this).stop().animate({'color':'red'},20)},
     function(){$(this).stop().animate({'color':'white'},500)})
});

Script tersebut, jika dijalankan  pada halaman web pada umumnya, maka akan jalan, tapi tidak di WordPress. Karena library jQuery yang dipanggil oleh WordPress menggunakan mode “no conflict”. Hal ini diperlukan oleh WordPress untuk menghindari konflik dengan library-library lain yang mungkin juga menggunakan shortcut tanda ‘$’. Agar kita bisa menggunakan shortcut ‘$’ untuk jQuery, kita bisa menggunakan wrapper sbb:

jQuery(document).ready(function($) {
    // $() bisa digunakan sebagai alias dari jQuery() di dalam fungsi ini
});

Wrapper tersebut akan membuat script dalam fungsi tersebut dieksekusi setelah halaman selesai dimuat. Jika oleh karena satu dan lain hal kita ingin script dieksekusi segera (tanpa menunggu DOM ready), maka kita dapat memakai wrapper sbb:

(function($) {
    // $() bisa digunakan sebagai alias dari jQuery() di dalam fungsi ini
})(jQuery);

Jadi kita akan melihat script berikut dapat dijalankan di WordPress dengan benar:

(function($) {
  $(function(){
    $('#sidebars a,#footbar a,#menu a').hover(
       function(){$(this).stop().animate({'color':'red'},20)},
       function(){$(this).stop().animate({'color':'white'},500)})
  });
})(jQuery);

Mudah bukan?!