WP Push Pages & Posts
Mengirimkan webhook bergaya REST API setiap kali post atau page diterbitkan.
by Robert / Dev Team · github.com/robertrullyp/wordpress-ai-pushpagesposts-plugin · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/robertrullyp/wordpress-ai-pushpagesposts-plugin/archive/refs/heads/main.zipWordPress WP Push Pages & Posts
Plugin WordPress ringan yang mengirimkan webhook setiap kali ada post atau page yang diterbitkan. Payload yang dikirim meniru struktur respons REST API WordPress termasuk data media tersemat, sehingga mudah diproses oleh layanan eksternal seperti pipeline AI, layanan indexing, atau sistem sinkronisasi konten. Versi 1.2.0 menstandarkan branding menjadi WP Push, menambahkan tautan Settings pada daftar plugin aktif, serta memperkeras proses penyimpanan konfigurasi agar tersanitasi dan tersimpan cukup satu kali.
Arsitektur & Alur Kerja
- Hook Publish – Plugin mendaftarkan
notify_external_on_publishke aksipublish_postdanpublish_page, tetapi hanya melanjutkan ketikapost_status === 'publish'. - Pengumpulan Data Konten – Saat hook dipanggil, plugin menyiapkan payload JSON berisi atribut utama post/page, meta informasi (author, kategori, tag), serta konten lengkap yang sudah difilter
the_content. - Resolusi Media – Plugin membangun blok
_embeddedyang berisi media unggulan (featured image) dan seluruh lampiran (attachment) yang terkait, termasuk media yang muncul di dalam konten editor melalui helper:_wp_prepare_attachment_like_rest()untuk menormalisasi metadata media menyerupai REST API/wp/v2/media._wp_resolve_attachment_ids_from_content()untuk memindai HTML konten, mencari URL media, dan memetakannya keattachment_id(mengatasi variasi URL seperti-150x150,-scaled, query string, dsb.).
- Keamanan – Opsi penandatanganan payload menggunakan HMAC-SHA256. Header
X-Signaturehanya dikirim bilasecret_keydiset. - Eksekusi Webhook + Retry – Payload dikirim ke endpoint eksternal menggunakan
wp_remote_post. Bila terjadi kegagalan (error transport atau HTTP non-2xx), plugin menjadwalkan retry asynchronous via WP Cron dengan exponential backoff (maksimal 3 kali percobaan). Log sukses/gagal direkam viaerror_loguntuk memudahkan debugging.
Konfigurasi
Setelah plugin aktif, buka Settings → WP Push di WP Admin untuk menyesuaikan:
- Webhook URL – Endpoint penerima payload JSON.
- API Key / Token – Akan dikirim sebagai header
API-KEY. - Secret Key (HMAC) – Opsional, jika diisi maka signature
X-Signatureakan disertakan. - Maksimal Percobaan & Jeda Dasar Retry – Mengatur exponential backoff untuk pengiriman ulang webhook.
Struktur Payload
Payload utama menyerupai wp/v2/posts atau wp/v2/pages:
{
"id": 123,
"type": "post",
"link": "https://example.com/hello-world",
"status": "publish",
"date": "2024-05-07 10:00:00",
"modified": "2024-05-07 10:15:00",
"title": {"rendered": "Hello World"},
"excerpt": {"rendered": "Ringkasan..."},
"content": {"rendered": "<p>Konten HTML lengkap</p>"},
"featured_media": 45,
"_embedded": {
"wp:featuredmedia": [ { /* objek media */ } ],
"wp:attachment": [ { /* daftar media lain */ } ]
},
"meta": {
"author": "Admin",
"categories": ["Berita"],
"tags": ["wordpress", "webhook"]
}
}
Instalasi
- Salin file
wp-push.phpke folderwp-content/plugins/wp-push. - Tambahkan header plugin WordPress standar jika ingin mengaktifkan via Dashboard (atau letakkan pada mu-plugin).
- Aktifkan plugin melalui Dashboard WordPress.
- Buka Settings → WP Push untuk mengisi endpoint, kredensial, serta opsi retry.
- Lakukan uji coba publish post/page untuk memastikan webhook tersampaikan.
Catatan: Pastikan WP Cron aktif agar mekanisme retry dapat berjalan. Pada lingkungan yang memerlukan kontrol lebih lanjut, Anda dapat memetakan hook
wp_push_retry_webhookke scheduler lain seperti Action Scheduler.
Penanganan Kesalahan
- Bila request gagal, WordPress akan menulis log ke
error_logdengan awalan ❌ dan menjadwalkan retry otomatis (maksimum 3 kali). - Cek juga response code yang dilaporkan untuk memastikan endpoint siap menerima payload.
- Anda dapat memonitor jadwal retry melalui WP-CLI (
wp cron event list) atau plugin manajemen cron.
Dengan pendekatan ini, project menyediakan fondasi kuat untuk mengalirkan konten WordPress ke berbagai layanan eksternal secara real-time.
Changelog
1.2.0
- Rebranding ke WP Push di seluruh UI dan dokumentasi.
- Penguatan sanitasi & default settings agar penyimpanan konfigurasi berlangsung aman hanya ketika diperlukan.
- Menambahkan tautan Settings langsung dari daftar plugin aktif di halaman Plugins.