Key Takeaways: WordPress 7.0 AI Abilities API menyediakan standar resmi untuk mendaftarkan dan mengonsumsi kemampuan AI antarplugin. Kesalahan terbesar developer: membungkus API alih-alih memperluasnya. Gunakan pola Three-Layer (Provider, Abilities, Consumer) agar plugin Anda tetap kompatibel dengan versi WordPress selanjutnya.
API AI Abilities di WordPress 7.0 Bukan Sekadar Tren
Bayangkan ini: plugin AI content generator Anda bekerja sempurna hari ini. Tiga bulan kemudian update WordPress 7.1 tiba, dan semuanya patah karena OpenAI mengubah endpoint atau format respons. Anda mulai ganti kode dari A sampai Z.
WordPress 7.0 memperkenalkan AI Abilities API untuk menyelesaikan masalah itu. Ini bukan wrapper REST API biasa. Ini adalah abstraction layer yang memisahkan “kemampuan AI” (apa yang bisa dilakukan) dari “penyedia AI” (siapa yang menjalankannya).
Untuk plugin developer, ini adalah fondasi yang mengubah cara Anda membangun fitur AI di WordPress. Tapi ada satu masalah: banyak yang menggunakannya dengan cara yang salah.
Kesalahan Paling Mahal: Membungkus API, Bukan Memperluasnya
Saya lihat kode plugin yang melakukan ini: membuat class sendiri yang memanggil OpenAI lalu menyebutnya “AI Abilities API integration.” Itu bukan ekstensi, itu duplikasi.
Pendekatan benar: daftarkan kemampuan AI Anda langsung ke sistem WP_AI_Abilities WordPress. Biarkan WordPress menangani routing ke provider mana pun (OpenAI, Anthropic, Google, atau model lokal). Plugin Anda cukup mendefinisikan apa yang dibutuhkan, bukan bagaimana menjalankannya.
Inilah yang membedakan plugin yang tahan bertahun-tahun versus plugin yang patah setiap update.
Pola Three-Layer yang Harus Anda Terapkan
Dari analisis kode plugin AI terbaik di ekosistem WordPress, saya menemukan pola arsitektur yang konsisten. Saya menyebutnya Three-Layer Pattern untuk AI plugin:
1. Provider Layer
Layer yang berkomunikasi langsung dengan API eksternal (OpenAI, Claude, Gemini). Hanya satu plugin per situs yang perlu mengimplementasikan ini. Biasanya plugin AI utama seperti Jetpack AI atau plugin pihak ketiga.
2. Abilities Layer
Inti dari AI Abilities API. Di sinilah Anda mendaftarkan kemampuan seperti ai/generate-text, ai/summarize, atau ai/classify-sentiment. Setiap ability memiliki schema input dan output yang terdefinisi.
3. Consumer Layer
Plugin Anda di sini. Alih-alih memanggil OpenAI langsung, Anda memanggil WP_AI_Abilities::get_ability('ai/generate-text'). WordPress akan merutekan ke provider yang aktif.
Poin kritis: Plugin Anda bisa menjadi Provider AND Consumer sekaligus. Contoh: plugin SEO yang menggunakan AI untuk meta description (consumer) sekaligus mendaftarkan ability seo/analyze-keyword (provider) untuk plugin lain.
Cara Mendaftarkan Custom AI Ability
Berikut kode minimal untuk mendaftarkan ability ai/translate-post yang bisa digunakan plugin mana pun di situs yang sama:
add_action('wp_ai_abilities_register', function ($registry) {
$registry->register('ai/translate-post', array(
'label' => __('Translate Post', 'my-plugin'),
'description' => __('Terjemahkan konten post ke bahasa target', 'my-plugin'),
'input_schema' => array(
'post_id' => array('type' => 'integer', 'required' => true),
'target_lang' => array('type' => 'string', 'required' => true),
),
'output_schema' => array(
'translated_content' => array('type' => 'string'),
'word_count' => array('type' => 'integer'),
),
'capability' => 'edit_posts',
));
});
Plugin lain kemudian bisa mengonsumsi ability ini tanpa tahu penyedia di belakangnya:
$result = wp_ai_abilities()->execute('ai/translate-post', array(
'post_id' => 123,
'target_lang' => 'id',
));
Advanced: Capability-Based Access Control
Fitur yang jarang diketahui: setiap registered ability bisa memiliki capability gate sendiri. Artinya Anda bisa membuat ability premium hanya untuk subscriber tertentu, atau ability admin-only untuk operasi sensitif.
Contoh ability yang hanya bisa dijalankan oleh editor:
$registry->register('ai/bulk-classify', array(
'label' => 'Bulk Content Classification',
'capability' => 'manage_categories',
'input_schema' => array(
'post_ids' => array('type' => 'array', 'items' => array('type' => 'integer')),
),
));
Ini sangat penting untuk keamanan. AI ability yang salah akses bisa digunakan untuk memanipulasi konten massal lewat REST API. Selalu set capability minimal sesuai hak akses yang dibutuhkan.
Untuk konteks keamanan AI yang lebih luas, lihat panduan dari WordPress REST API Authentication documentation dan praktik aman yang dijelaskan OWASP Top Ten.
Mengapa Ini Penting untuk Masa Depan Plugin Anda
WordPress AI Abilities API bukan fitur “nice-to-have.” Arsitektur ini adalah fondasi untuk interoperabilitas plugin AI di ekosistem WordPress. Semakin banyak plugin AI yang menggunakan Ability API, semakin besar ekosistem yang saling menguntungkan.
Jika plugin Anda masih memanggil OpenAI langsung, Anda membangun isolasi. Beralih ke AI Abilities API sekarang berarti plugin Anda otomatis kompatibel dengan provider AI baru tanpa perubahan kode satu baris pun.
Baca juga artikel terkait: wp_insert_post vs wp_after_insert_post: The AI Hook Double-Fire Trap untuk memahami jebakan hook yang sering merusak plugin AI.
FAQ: Extending WordPress AI Abilities API
Apakah saya perlu provider plugin terpisah untuk menggunakan AI Abilities API?
Tidak. Plugin Anda bisa langsung mendaftarkan ability sendiri. WordPress akan menggunakan provider AI default yang terdaftar di sistem. Jika tidak ada provider, ability Anda tetap terdaftar tapi akan mengembalikan error saat dieksekusi.
Bagaimana cara mengecek apakah AI Abilities API tersedia di situs target?
Gunakan function_exists('wp_ai_abilities') atau class_exists('WP_AI_Abilities'). Jangan asumsi API selalu ada; beri fallback graceful jika plugin tidak kompatibel.
Apakah AI Abilities API mendukung streaming responses?
Ya. Kemampuan yang membutuhkan streaming (seperti chat real-time) bisa mendaftarkan streaming => true di skema ability. Pastikan consumer plugin Anda siap menangani callback chunk-by-chunk.
Apa bedanya dengan WP-CLI atau REST API endpoint?
AI Abilities API berjalan di dalam proses WordPress, bukan HTTP round-trip. Ini berarti lebih cepat dan tidak kena masalah timeout untuk task besar seperti batch summarization.
Bisakah saya override ability yang sudah terdaftar oleh plugin lain?
Bisa, menggunakan filter wp_ai_abilities_registered. Gunakan ini dengan hati-hati; override ability pihak ketiga bisa merusak plugin mereka. Kasus penggunaan legit: Anda membuat provider kustom yang meng-override ability “generate-text” milik plugin premium.
Mulai Ekstensi AI Plugin Anda Sekarang
WordPress AI Abilities API adalah fondasi yang akan bertahan bertahun-tahun. Plugin yang mengadopsinya sekarang akan unggul dibanding kompetitor yang masih menulis kode ad-hoc ke OpenAI.
Jangan tunggu WordPress 7.1 atau 7.2. Mulai porting kode AI plugin Anda ke pola Three-Layer hari ini.
