plugin API. WordPress REST API - untuk apa dan untuk apa? plugin API

Hooks disediakan oleh WordPress untuk memungkinkan plugin Anda "menghubungkan" ke seluruh WordPress; yaitu, untuk memanggil fungsi-fungsi di plugin Anda pada waktu tertentu, dan dengan demikian menjalankan plugin Anda. Ada dua jenis kait:

  1. (Naskah kuno)
  2. (Naskah kuno)

Terkadang Anda dapat mencapai tujuan yang sama dengan tindakan atau filter. Misalnya, jika Anda ingin plugin mengubah teks postingan, Anda dapat menambahkan fungsi tindakan ke publikasikan_posting (sehingga postingan diubah saat disimpan ke database), atau fungsi filter ke the_content (sehingga postingan tersebut diubah menjadi dimodifikasi seperti yang ditampilkan di layar browser).

Untuk daftar menyeluruh semua tindakan dan kait filter di WP, lihat Database Hooks WordPress Adam Brown.

Referensi Fungsi

Fungsi Penyaring
Fungsi Tindakan
Fungsi Aktivasi/Deaktivasi/Uninstall

Tindakan

Tindakan dipicu oleh peristiwa tertentu yang terjadi di WordPress, seperti memublikasikan postingan, mengubah tema, atau menampilkan file . Tindakan adalah fungsi PHP khusus yang ditentukan dalam plugin (atau tema) Anda dan doyan, yaitu diatur untuk menanggapi beberapa peristiwa ini. Tindakan biasanya melakukan satu atau beberapa hal berikut:

  • Memodifikasi data basis data.
  • Kirim pesan email.
  • Ubah layar administrasi yang dihasilkan atau halaman front-end yang dikirim ke browser pengguna.

Langkah-langkah dasar untuk mewujudkan hal ini (dijelaskan lebih detail di bawah) adalah:

  1. Buat fungsi PHP yang harus dijalankan ketika peristiwa WordPress tertentu terjadi, di file plugin Anda.
  2. Kaitkan fungsi ini ke acara dengan menggunakan fungsi tersebut.
  3. Masukkan fungsi PHP Anda ke dalam file plugin, dan aktifkan.

Buat Fungsi Tindakan

Langkah pertama dalam membuat action di plugin Anda adalah membuat fungsi PHP dengan fungsionalitas action plugin Anda dan memasukkannya ke dalam file plugin Anda (file plugin Anda harus masuk ke dalam wp-content/plugins direktori). Misalnya, jika Anda ingin teman Anda mendapatkan pesan email setiap kali Anda membuat postingan baru, Anda dapat menentukan fungsi berikut:

Fungsi email_friends($post_ID) ( $friends = " [dilindungi email],[dilindungi email]"; mail($friends, "blog sally diperbarui", "Saya baru saja menaruh sesuatu di blog saya: http://blog.example.com"); kembalikan $post_ID; )

Untuk sebagian besar tindakan, fungsi Anda harus menerima satu parameter (biasanya ID postingan atau komentar, bergantung pada tindakannya). Beberapa tindakan memerlukan lebih dari satu parameter -- periksa dokumentasinya Untuk tindakan (jika tersedia) atau kode sumber WordPress untuk informasi lebih lanjut. Selain satu parameter, Anda juga dapat mengakses , dan memanggil fungsi WordPress lainnya (atau fungsi di file plugin Anda).

Output teks apa pun berdasarkan fungsi (misalnya dengan print) akan muncul di sumber halaman di lokasi di mana tindakan tersebut dipanggil.

CATATAN: Ingatlah bahwa plugin lain atau inti WordPress mungkin sudah menggunakan nama fungsi yang Anda pikirkan. Lihat bagian selanjutnya, untuk informasi lebih lanjut.

Menghindari Tabrakan Nama Fungsi

Mungkin saja seseorang telah membuat plugin dengan nama fungsi yang sama dengan plugin Anda.

Ini menjadi masalah karena PHP tidak mengizinkan banyak fungsi dengan nama yang sama. Jika dua plugin menyediakan fungsi dengan nama yang sama, atau sebuah plugin menyediakan fungsi dengan nama yang sama dengan fungsi WordPress, blog dapat berhenti berfungsi. Ada dua cara untuk menghindari masalah ini.

Solusi pertama adalah mengawali setiap fungsi di plugin Anda dengan serangkaian karakter unik. Jika nama Anda John Q. Public, Anda dapat mendeklarasikan fungsi Anda sebagai function jqp_output() (...) . Kemungkinan seseorang dengan inisial yang sama melakukan hal yang sama dengan pluginnya mungkin saja terjadi, tetapi rendah.

Solusi kedua - dan mungkin lebih mudah - adalah dengan memasukkan fungsi plugin Anda ke dalam kelas dan memanggil metode kelas secara statis. Ini kedengarannya lebih rumit dari yang sebenarnya.

Pertimbangkan kelas ini, yang memperluas contoh yang diberikan di atas:

Pengirim email kelas ( fungsi statis kirim($post_ID) ( $teman = " [dilindungi email],[dilindungi email]"; mail($friends,"blog sally diperbarui","Saya baru saja menaruh sesuatu di blog saya: http://blog.example.com"); kembalikan $post_ID; ) ) add_action("publish_post", array("email", "kirim"));

Kelas ini menelepon pengirim email memiliki metode mengirim yang mengimplementasikan fungsionalitas plugin.

Fungsi add_action() di luar kelas menambahkan tindakan ke WordPress yang memerintahkannya untuk memanggil mengirim metode ketika sebuah posting diterbitkan. Array yang digunakan pada parameter kedua memberitahu sistem plugin untuk memanggil metode statis kelas "emailer" bernama "send".

Fungsinya mengirim dilindungi dari namespace global oleh deklarasi kelas. Tidak mungkin memanggil send() secara langsung, begitu pula fungsi lainnya yang diberi nama mengirim tidak akan bertabrakan dengan yang satu ini. Jika Anda ingin memanggil send(), Anda perlu menggunakan operator resolusi cakupan, seperti ini: emailer::send()

Contoh di atas adalah untuk metode statis. Jika Anda memiliki sebuah instance dari suatu kelas maka itu tidak akan berfungsi. Untuk memanggil metode dari sebuah instance, Anda harus meneruskan instance tersebut sebagai variabel. Pertimbangkan contoh di atas yang dimodifikasi untuk mempertimbangkan hal ini:

Pengirim email kelas ( fungsi kirim($post_ID) ( $teman = " [dilindungi email],[dilindungi email]"; mail($friends,"blog sally diperbarui","Saya baru saja menaruh sesuatu di blog saya: http://blog.example.com"); kembalikan $post_ID; ) ) $myEmailClass = emailer baru(); add_action("publish_post", array($myEmailClass, "kirim"));

Kelas adalah mata pelajaran yang rumit. Baca selengkapnya tentang mereka di dokumentasi PHP di kelas.

Hubungkan ke WordPress

Setelah fungsi Anda ditentukan, langkah selanjutnya adalah “hook” atau mendaftarkannya ke WordPress. Untuk melakukannya, panggil ruang eksekusi global file plugin Anda:

Add_action("nama_kait", "nama_fungsi_anda", , );

Hook_name Nama kait tindakan yang disediakan oleh WordPress, yang memberi tahu peristiwa apa yang harus dikaitkan dengan fungsi Anda. your_function_name Nama fungsi yang ingin Anda jalankan setelah peristiwa yang ditentukan oleh hook_name . Ini bisa berupa fungsi php standar, fungsi yang ada di inti WordPress, atau fungsi yang Anda tentukan di file plugin (seperti "email_friends" yang didefinisikan di atas). prioritas Argumen bilangan bulat opsional yang digunakan untuk menentukan urutan eksekusi fungsi yang terkait dengan tindakan tertentu (default: 10). Turunkan angka yang sesuai dengan eksekusi sebelumnya, dan fungsi dengan prioritas yang sama dieksekusi sesuai urutan yang ditambahkan ke tindakan. diterima_args Argumen bilangan bulat opsional yang menentukan berapa banyak argumen yang dapat diterima fungsi Anda (default 1), berguna karena beberapa kait dapat meneruskan lebih dari satu argumen ke fungsi Anda. Parameter ini baru di rilis 1.5.1.

Pada contoh di atas, kita akan meletakkan baris berikut di file plugin:

Add_action("publish_post", "email_teman");

Instal dan Aktifkan

Langkah terakhir agar kait filter Anda berfungsi adalah menginstal file dan mengaktifkan plugin. Fungsi PHP yang Anda tulis dan panggilannya harus dimasukkan ke dalam file PHP bersama-sama, dan file PHP harus diinstal di wp-content/plugins direktori. Setelah terinstal, Anda perlu mengunjungi bagian admin WordPress dan mengaktifkan plugin Anda; lihat untuk lebih jelasnya.

Kait Saat Ini untuk Filter

Aktivasi/Penonaktifan/Copot Pemasangan

Jika plugin Anda memiliki tugas yang harus diselesaikan hanya pada waktu aktivasi atau penonaktifan, plugin tersebut dapat menggunakan Referensi Tindakan - Daftar kait tindakan WordPress

Sumber Daya Eksternal

  • Database Hooks WordPress Adam Brown, database semua hook WordPress, menunjukkan dari versi mana hook tersebut berasal, dan menautkan ke tempat kode sumber yang menggunakannya. Ini yang paling lengkap.
  • Otto di WordPress:

Hari ini kita akan berbicara tentang WordPress REST API (ada yang menyebutnya JSON REST API), tambahan yang akan datang ke inti WordPress yang sekarang tersedia sebagai plugin dan pertama kali muncul di versi 4.1. Sekarang kita menunggu integrasi dua tahap di versi 4.4 dan 4.5. Kalau para developer sangat antusias dengan kemunculan ini fitur baru, maka rata-rata pengguna WordPress mungkin belum memahami semua kegembiraan ini, meskipun kemunculan fitur ini bisa disebut sebagai tonggak penting dalam sejarah WordPress. Mari kita cari tahu apa itu WordPress REST API, apa artinya bagi masa depan WordPress, dan mengapa ditulis dengan huruf kapital.

Apa itu API?

Mari kita mulai dengan dasar-dasar dan terminologinya, karena nama JSON REST API seluruhnya terdiri dari akronim. Tiga huruf pertama dari “API” adalah singkatan dari Application Programming Interface.

Untuk apa API itu?

Pada dasarnya, API diperlukan untuk menghubungkan berbagai perangkat lunak, dan Anda dapat menganggapnya seperti port USB.

Port USB digunakan untuk komunikasi berbagai jenis perangkat dengan komputer Anda. Ini bisa berupa printer, kontrol komputer, portabel hard disk, telepon, dll. Melalui port ini, komputer dan perangkat dapat saling berinteraksi dan bertukar informasi. API adalah sesuatu yang serupa, hanya saja API ini tidak menghubungkan perangkat, tetapi program. Dengan demikian, program dapat bertukar data dalam batas yang ditentukan secara ketat, berinteraksi satu sama lain. Anda terus-menerus menggunakan API tanpa menyadarinya. Misalnya saja jika Anda menggunakan program pihak ketiga untuk menggunakan akun Twitter Anda, tindakan ini dilakukan melalui API Twitter. Berkat teknologi API, saya bisa berada di Twitter setiap hari bahkan tanpa harus membuka situs Twitter.

API juga diperlukan saat Anda menggunakan layanan pemasaran email seperti MailChimp di situs WordPress Anda. Singkatnya, antarmuka pemrograman aplikasi memungkinkan pengembang untuk menggunakan fungsi dan data aplikasi atau layanan web lain untuk perangkat lunak mereka sendiri dengan cara yang sepenuhnya aman.

Apa yang dimaksud dengan REST dan JSON?

REST adalah singkatan dari Representational State Transfer. REST menjelaskan arsitektur API spesifik yang dirancang agar ringan, mudah digunakan, dan cocok untuk berbagai layanan. Google, Facebook, dan Twitter menggunakan gaya REST untuk banyak API mereka, karena alasan sederhana bahwa REST dibangun di atas HTTP, sebuah protokol yang digunakan di mana pun di web, bersama dengan sepupunya yang lebih aman, HTTPS. Karena kompatibilitasnya yang tinggi dengan teknologi modern, API yang dibangun di atas REST semakin populer di web, dan tidak hanya di WordPress. Hampir semua program yang memiliki akses ke Internet dapat menggunakan API jenis ini. Tampaknya ini merupakan peluang besar untuk interoperabilitas antar program, bukan?

JSON adalah format pertukaran data berbasis teks berdasarkan JavaScript. Hal hebat tentang JSON adalah formatnya ramah manusia dan mesin. Pengembang dapat menulis dan membacanya seperti bahasa pemrograman biasa, dan komputer dapat menguraikan dan menghasilkannya dengan mudah. Meski begitu, keunggulan terpentingnya adalah bahasa pemrograman utama sudah memiliki codifier dan decodifier untuk mengubah struktur data menjadi JSON atau sebaliknya. Ini berarti antarmuka JSON dapat bertindak sebagai penerjemah antara dua aplikasi yang ditulis dalam bahasa berbeda dan jika tidak, tidak akan pernah berkomunikasi satu sama lain.

Format JSON dapat menjadi konektor universal di Internet, dan karena alasan ini, WordPress dan layanan besar lainnya telah memutuskan untuk memanfaatkan keuntungan ini. Selain itu, di WordPress JSON juga menggantikan standar XML-RPC yang agak ketinggalan jaman, sehingga lebih sulit digunakan.

Dengan semua hal di atas, kesimpulan berikut dapat diambil:

  • API adalah konektor pada perangkat lunak apa pun;
  • REST adalah desain konektor ini;
  • JSON adalah kabel dengan colokan universal di ujungnya;

API REST JSON dan WORDPRESS

Oke, kami menyadari bahwa hal ini berguna. Tapi bukankah WordPress sudah menggunakan API ini dalam kerangkanya? Ya, ada satu, dan itu adalah API WordPress. Ini digunakan untuk plugin WordPress, dan hanya berfungsi dengan proses internal WordPress. Tetapi jika kita berbicara tentang interaksi dengan perangkat lunak secara eksternal, maka API ini sudah ketinggalan zaman dan tidak terlalu ramah pengguna. WP API baru jauh lebih universal karena dibuat agar WordPress dapat dengan mudah berinteraksi dengan situs web dan layanan lain di Internet. Dengan menggunakan API universal, Anda dapat menampilkan dan menyimpan konten dari situs dan aplikasi lain, terlepas dari apakah situs dan aplikasi tersebut menggunakan mesin WordPress atau tidak. Benar sekali, API ini memungkinkan platform WordPress menjadi sistem manajemen konten yang cocok untuk aplikasi apa pun yang ditulis dalam bahasa apa pun.

Ditambah lagi, hal yang sama bekerja secara terbalik. Segala sesuatu yang ada di situs WordPress Anda juga akan tersedia di situs web dan layanan eksternal mana pun, termasuk:

  • Catatan;
  • Halaman;
  • Jenis posting khusus;
  • Media;
  • Komentar;
  • Taksonomi;
  • Pengguna;
  • Dan banyak lagi

Ini berfungsi karena semuanya didasarkan pada HTTP, yang tersedia di mana saja. Protokol ini memungkinkan situs mengirim, membuat, membaca, memperbarui, atau menghapus permintaan antara dua pihak. Di HTTP, perintah POST, GET, PUT, dan DELETE setara. Selain itu, API memahami URL yang strukturnya mirip dengan direktori, dan seperti yang kita ketahui, tautan serupa digunakan oleh WordPress dan sistem manajemen konten lainnya.

Meringkas apa yang telah dikatakan, kami dapat mengatakan bahwa jika Anda ingin mentransfer semua catatan pengguna tertentu dari situs Anda ke sumber daya lain, Anda cukup menggunakan arahan -

DAPATKAN http://situsAnda.com/users/namapengguna.

Hal yang sama berlaku untuk memperbarui satu postingan, menghapus pengguna, menerbitkan halaman, dan banyak lagi. Singkatnya, API memungkinkan Anda mengelola area admin WordPress tanpa perlu login manual dan menggunakan konten non-WordPress.

Bagus, tapi apakah aman? Kabar baiknya adalah WordPress REST API memiliki langkah-langkah keamanan bawaan. Kata ajaib di sini adalah otentikasi. Antarmuka memiliki autentikasi cookie dan autentikasi OAuth. Jadi autentikasi cookie berfungsi untuk plugin dan tema, dan OAuth digunakan untuk mengautentikasi klien seluler, web, dan desktop. Kedua metode tersebut membatasi aktivitas pihak ketiga di situs Anda. Karena API dibuat agar platform dapat bertukar informasi yang ditentukan secara ketat dalam cara yang terbatas, data Anda sepenuhnya aman.

Apa arti WP API untuk WORDPRESS?

Apakah ini salah satu hal yang hanya bisa digunakan oleh pengembang? Bagaimana perubahan ini akan mempengaruhi rata-rata pengguna situs web? Menambahkan WordPress REST API adalah langkah pertama untuk menjadikan WordPress sebagai platform aplikasi web yang lengkap, karena membuka platform WordPress untuk berinteraksi dengan seluruh internet.

Seperti disebutkan di atas, API memungkinkan Anda melakukan hal yang sama seperti yang diizinkan oleh panel admin WordPress, tetapi tanpa melewati antarmuka pengguna. Ini berarti backend WordPress tidak lagi diperlukan.

  • Pengembang mana pun dapat membuat panel admin WordPress alternatif berdasarkan perangkat atau platform apa pun.
  • API baru ini dapat menghadirkan banyak alternatif terhadap backend standar, termasuk aplikasi seluler, tersedia untuk administrasi WordPress
  • Karena dukungan JSON sudah terpasang di iOS dan Android, monopoli aplikasi WordPress akan menjadi sejarah.
  • Konten pihak ketiga juga akan tersedia untuk WordPress. Yang lebih baik lagi, API ini menjadikan bahasa dan lingkungan konten WordPress tidak bergantung pada bahasa, sehingga Anda dapat mengambil konten dari sumber mana pun dan menampilkannya sesuka Anda.
  • Ruby on Rails dan kerangka kerja lainnya akan memiliki akses ke fungsionalitas WordPress dan semua kemampuan yang menyertainya, dan manfaat dari area ini akan tersedia bagi pengguna WordPress.

Berita ini terutama akan menyenangkan para pengembang yang bekerja dengan frontend, karena mereka akan dapat mengubah frontend sesuka mereka tanpa mempengaruhi backend.

Bagi non-pengembang, teknologi ini dapat digunakan untuk menciptakan solusi baru untuk mengintegrasikan konten dari profil web lain dengan situs WordPress mereka.

WordPress memasuki era baru

Tidak hanya jenis konten baru yang akan tersedia di WordPress, namun berkat API baru, konten WordPress akan tersedia di seluruh internet. Sistem non-PHP akan dapat menggunakan data WordPress dan menyesuaikannya dengan aplikasi mereka sendiri.

Namun yang paling menarik adalah kemungkinan menggunakan produk WordPress, misalnya plugin, di platform dan sistem manajemen konten lain.

Aplikasi seluler yang dibangun di WordPress akan tersedia di mana saja, yang merupakan kabar baik bagi semua orang yang membuat atau menggunakannya. Saya pikir akan ada solusi yang memungkinkan rata-rata pengguna membuat aplikasi seluler berdasarkan situs WordPress secara otomatis.

Pada akhirnya:

Seperti yang Anda lihat sendiri, WordPress baru REST API mengubah WordPress menjadi sesuatu yang baru. Ini akan membuka WordPress ke seluruh Internet, dan memungkinkan platform berinteraksi lebih lancar dengan aplikasi dan layanan pihak ketiga. Munculnya WordPress REST API tidak hanya akan menyenangkan pengembang, tetapi juga pengguna biasa, yang akan menerima banyak peluang baru.

Plugin ini adalah perpustakaan yang dimuat secara dinamis (DLL). Setelah menginstal program, semua plugin yang termasuk dalam distribusi ditempatkan di direktori c:\Program Files (x86)\Common Files\Soft Gold\Inventaris 14\Plugins\... Ekstensi *.abl diperlukan untuk pengunduhan otomatis plugin dari direktori yang ditentukan saat aplikasi dimulai. Plugin juga dapat dimuat dari lokasi lain mana pun di disk dengan menentukan jalur pencarian di pengaturan.

Menginisialisasi API plugin

(Ekstensi VCL Delphi)

(Antarmuka plugin untuk ABViewer/Inventaris)

(Hak Cipta (c) 2002-2010 Perusahaan perangkat lunak SoftGold)

{************************************************************}

satuan sgPluginItem;

antarmuka

penerapan

XMLDocRef: IXMLDocument = nihil;

ClientRef: IXMLNode = nihil;

P : Penunjuk = nihil;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: string = "";

XMLAtomString: string = "";

prosedur InisialisasiDoc;

mulai

// mendapatkan nama unik dari kelas jendela dengan parameter

PluginsHostWndName:= Format("TsgPluginsHost:%.8X:%.8X", );

// menemukan jendela itu sendiri

PluginsHostWnd:= FindWindow(PChar(PluginsHostWndName), nihil);

Jika PluginsHostWnd<>0 lalu

Mulai

// mendapatkan string atom untuk mendapatkan parameter dokumen xml

XMLAtomString:= Format("XMLOfs%.8X%.8X",

XMLDocRef:= IXMLDocument(GetProp(PluginsHostWnd, PChar(XMLAtomString)));

Jika Ditugaskan(XMLDocRef) lalu

Mulai

// menambahkan elemen ke daftar

ClientRef:= XMLDocRef.DocumentElement.ChildNodes.ChildNodes.AddChild(sClient);

// menginisialisasi alamat fungsi Invoke

ClientRef.ChildValues["Invoke"] := IntToId(Integer(@Invoke)); // heksadesimal $XXXXXXXX

Akhir;

Akhir;

akhir;

inisialisasi

Koinisialisasi(P);

Inisialisasi Dokumen;

Menyiapkan dan menjalankan versi demo plugin

Versi demo plugin dikonfigurasi secara otomatis saat menginstal program dan terhubung segera setelah meluncurkan Inventaris. Paket ini mencakup kode sumber komponen (nama proyek sgPlugin.dpk) dan versi demo plugin (nama proyek plug1.dpr).

Prosedur untuk meluncurkan plugin dari mode debug:

▪ Terbuka C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Demos\Plug1\plug1.dpr

▪ Atur opsi proyek:

Jalur Pencarian : "..\..\Components\PlugItem";

Derektori keluaran, misalnya: “c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins”;

Aplikasi host, aktif kembali aplikasi yang diinstal, misalnya: “c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe”.

▪ Peluncuran untuk dieksekusi.

Untuk menggunakan komponen pada waktu desain, Anda perlu membuka, membangun kembali, dan menginstal C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Setelah menginstal komponen, komponen TsgPluginItem akan muncul di palet komponen Delphi, pada tab Soft Gold, yang dapat digunakan dalam designtime, yaitu. tempatkan pada formulir.

Sangat baik untuk integrasi ERP

Plugin ini SANGAT BAIK, sangat berguna untuk menyinkronkan nopCommerce dengan sistem ERP. Namun, hal ini belum lengkap dan sedikit ketinggalan jaman. Unduh kode sumber dan contoh aplikasi dari GitHub untuk menambahkan kode yang hilang.

PENGALAMAN PRIBADI SAYA

Saya menggunakannya untuk pelanggan yang telah menjalankan toko fisik selama bertahun-tahun dan baru-baru ini meminta saya untuk membuat situs eCommerce.
Dia sudah memiliki sistem ERP yang sangat disesuaikan untuk memelihara data perdagangan, dengan lebih dari 300 tabel, termasuk produk dan pelanggan.
Jadi meskipun nopCommerce memiliki panel Admin yang bagus, dia menganggapnya sebagai biaya tambahan untuk memelihara dua sistem dan bertanya kepada saya berapa lama waktu yang dibutuhkan untuk membangun mekanisme sinkronisasi satu arah otomatis dari ERP ke NopCommerce, untuk saat ini terus memperbarui harga dan kuantitas produk.
Saya bilang sejujurnya saya tidak tahu, saya akan meluangkan satu hari untuk melakukan analisis, melihat plugin apa yang tersedia dan memberinya perkiraan yang lebih tepat di penghujung hari.
Untungnya saya menemukan plugin yang luar biasa ini, mengunduh kode sumber dan contoh yang menyertainya. API mudah diubah karena Anda cukup meniru struktur database untuk menyediakan fungsionalitas yang hilang. Sampelnya lebih rumit karena sangat mendasar, namun sampel ini menunjukkan cara memanggil fungsi API dan cara kerja mekanisme autentikasi token.
Inilah yang saya pribadi lakukan:
1) Menyalin contoh aplikasi web MVC di server di intranet dengan IIS dan membuat data CNAME sehingga dapat diakses sebagai http://nopSync
2) Berikan "tampilan dan nuansa" yang sama seperti panel Admin nopCommerce dengan melakukan "lihat sumber" dan mereferensikan sebagian besar file css yang sama
3) Menghapus formulir login dan variabel sesi, kredensial kode keras di web.config dan secara otomatis diautentikasi saat dimuat
4) Menggunakan skrip SQL untuk memasukkan SKU dan Produsen untuk semua produk nopCommerce. Kedua bidang gabungan ini adalah kunci saya untuk mencocokkan produk antara kedua sistem secara unik
5) Api menyediakan fungsi "daftar" untuk memilih semua produk tetapi pembaruan dilakukan satu per satu.
Saya dapat membaca semua produk dan kemudian mengakses sistem ERP setiap saat, memeriksa harga dan kuantitas serta memperbarui nopCommerce jika ada perbedaan.
Namun, saya menganggapnya lebih efektif untuk membaca semua data nopCommerce ke dalam tabel PRODUK database lokal dengan tanda DoesItRequireUpdating secara default sama dengan false.
Keuntungannya adalah sistem ERP hanya dapat diakses satu kali. Dengan satu permintaan pada tabel PRODUK menggunakan GABUNG pada tabel database ERP, saya dapat memperbarui harga, jumlah, dan tanda PRODUK dan kemudian memanggil API pembaruan satu kali untuk setiap produk dengan tanda yang disetel ke true.
6) Saya mengizinkan sinkronisasi manual dan otomatis. Manual dengan memasukkan link ke http://nopSync di menu panel Admin dan otomatis dengan menggunakan tugas terjadwal untuk memanggil sampel web berulang kali.

Ketika pelanggan bertanya kepada saya, pada akhirnya, berapa hari yang diperlukan untuk membangun sinkronisasi ERP, saya mengatakan bahwa berkat plug SevenSpikes API, sinkronisasi tersebut online dan tersinkronisasi. Terima kasih SevenSpikes!!

  1. Panduan Lengkap Konfigurasi API WordPress, Bagian 1: Pendahuluan

Sekaranglah waktunya untuk menjadi pengembang WordPress profesional. Baik itu pengembangan khusus atau pembuatan tema dan plugin, saat ini ada permintaan untuk segala sesuatu yang berhubungan dengan topik ini.

WordPress memiliki tulisan yang bagus Dokumentasi API untuk pengembang terlepas dari tingkat pelatihan mereka. Namun hal ini tidak meniadakan kebutuhan untuk mengumpulkan pengalaman praktis di bidang pengembangan CMS ini.

Seperti kebanyakan hal dalam pengembangan web, hanya karena sesuatu berhasil bukan berarti hal tersebut dilakukan dengan benar. Jadi kami, sebagai pengembang dan pengrajin, ditantang untuk memastikan bahwa apa yang kami lakukan dilakukan dengan benar.

Banyaknya kode sumber tema dan plugin menunjukkan bahwa pengembang terus melakukan apa yang berhasil, namun hal itu tidak dilakukan dengan cara yang paling efisien. Hal ini terutama berlaku untuk opsi tema, halaman menu, mekanisme validasi, dan sejenisnya.

Dan kami ingin menghentikan ini.

Dalam rangkaian artikel ini, kita akan mendalami inti API Pengaturan WordPress. Kami akan memahami apa masalahnya dan mengapa ini penting, dan kami juga akan mempelajari cara menggunakan API ini dengan benar.

Tujuan utama kami adalah mempelajari cara mengonfigurasi API Pengaturan (API Pengaturan) secara kompeten, apa pun tingkat pelatihan Anda. Di akhir seri ini, Anda akan memperoleh pemahaman mendalam dan holistik serta contoh praktis tentang cara menggunakan API ini dengan benar dalam praktik.

Agar berhasil menyelesaikan semua tahapan, kita harus memulai dari nol mutlak. Sebelum menulis kode apa pun dan menganalisis contoh, kita perlu mengenal API Pengaturan - mencari tahu apa itu dan tujuannya.

Definisi istilah "API Pengaturan"

Pada intinya, Settings API adalah serangkaian fungsi yang disediakan oleh WordPress yang menyederhanakan proses pembuatan menu, halaman pengaturan, dan penyimpanan, validasi, dan pengambilan input pengguna.

Kedengarannya sederhana, bukan?

Dalam rangkaian artikel ini kita akan mempelajari setiap aspek secara mendetail. Dan kita dapat mengembangkan definisi sederhana ini dalam pekerjaan kita di masa depan.

Mengapa Anda harus menggunakan API Pengaturan?

Sekarang kita telah menetapkan apa itu Settings API, mari kita lihat mengapa kita akan menggunakannya alih-alih rutinitas kustom kita sendiri untuk memproses input pengguna, serialisasi (proses mengubah struktur data menjadi rangkaian bit), dan validasi.

Berinteraksi dengan WordPress Core

Settings API dikembangkan oleh pembuat platform WordPress untuk memudahkan pembuatan ekstensi. Oleh karena itu, logis untuk menggunakan fungsi yang disediakan oleh API ini.

Tentu saja, Anda dapat melewati API Pengaturan dan mengimplementasikan fungsionalitas Anda sendiri menggunakan kekerasan, dan tidak ada yang bisa menghentikannya, tetapi ini memerlukan kerja tambahan, dan penuh dengan ketidakpatuhan terhadap rekomendasi tim pengembangan inti WordPress, yang pada akhirnya dapat menyebabkan kesalahan pada panel kontrol.

Menggunakan alat yang dibuat oleh pengembang untuk pengembang memastikan bahwa kita berinteraksi dengan kernel dengan cara yang benar.

Fitur Standar Gratis

Menggunakan Settings API bukan hanya jaminan bahwa pengembangan akan terus berlanjut jalan yang benar. Ini juga memastikan bahwa antarmuka pengguna akan mengikuti tradisi platform, dan data akan diproses melalui mekanisme yang serupa dengan yang digunakan di WordPress itu sendiri. Selain itu, ini dapat menghemat banyak waktu.

Saat Anda mulai membuat antarmuka menggunakan prinsip yang sama seperti yang digunakan di WordPress dan menggunakan API Pengaturan dalam pekerjaan Anda, produk Anda akan terintegrasi erat dengan CMS.

Artinya, saat pengguna berinteraksi dengan kreasi Anda, mereka akan merasa nyaman - semuanya akan jelas bagi mereka. Mereka akan merasa seperti sedang memodifikasi add-on sistem yang dibuat oleh pengembang WordPress.

Sebenarnya, penggunaan gaya WordPress asli tidak terkait langsung dengan API Pengaturan dan merupakan topik yang sedikit berbeda, namun aspek API Pengaturan dalam membuat halaman menu memang memerlukan penggunaan gaya WordPress asli.

Apakah tidak ada gunanya berpegang pada satu gaya?

Lebih aman, lebih berkelanjutan

Dengan memanfaatkan fitur bawaan WordPress, Anda dapat yakin bahwa penyimpanan, pengambilan, dan validasi akan berjalan lancar. Settings API menyediakan banyak fungsi yang aman digunakan untuk kernel.

Bagaimanapun, API Pengaturan tunduk pada aturan dan prinsip yang sama dengan API WordPress. Selain itu, saat memperbarui CMS, fungsi Pengaturan API juga akan menjadi usang. Anda memerlukan waktu untuk memperbarui proyek Anda SEBELUM ketidakcocokan mempengaruhi kinerjanya.

Apa berikutnya?

Sekarang, Anda harus memilikinya Ide umum apa itu Settings API dan mengapa Anda harus menggunakannya saat membuat tema dan plugin.