7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Creative Coding

Posting via Front End: mengedit dan menghapus

Scroll to top
Read Time: 9 mins

Indonesian (Bahasa Indonesia) translation by Amar Shaleh (you can also view the original English article)

Hari ini, kita akan melanjutkan seri mini menyisipkan post melalui front end tetapi dalam bagian ini kita akan secara eksklusif melihat bagaimana untuk mengedit dan menghapus posting melalui front end. Kami akan mencakup bagaimana menampilkan semua tulisan, mengedit mereka dan menghapusnya. Jadi, mari kita bersiap-siap dan mulai!


Pengenalan

Kita sekarang berada pada bagian kedua dari seri Mini, dan jika Anda belum membaca bagian pertama maka saya menyarankan Anda melakukan karena kami akan mengambil dari yang sebelumnya. Tujuan kami setelah menyelesaikan Mini-Seri ini harus memungkinkan pengguna untuk mengirimkan posting melalui front end, mengedit dan mengirim posting ke tempat sampah; Semua tanpa berada di WordPress Dashboard. Metode ini dapat digunakan dalam tema atau plugin dan menjadi sangat beradaptasi untuk mencapai kiriman yang sangat canggih dan rumit.

Demo dan download file yang dilucuti turun tema yang telah dibuat untuk hanya tujuan dari tutorial ini.

Jadi buka editor teks favorit Anda dan mari kita mulai!


Langkah 1 menampilkan posting kami

Kita akan mulai dengan menampilkan semua posting lebih efektif, ini akan memberi kita manajemen yang lebih baik atas posting kita dan memungkinkan kita untuk melakukan tindakan pada setiap posting. Karena kami menggunakan tema untuk mengembangkan ini, kita akan menciptakan sebuah template halaman yang disebut template-view-posts.php. Juga, kita akan menciptakan sebuah halaman baru melalui halaman Dashboard WordPress-> Add New-> Page Attributes seperti menetapkan template ke Halaman ini.

Kami sekarang memiliki Page Template kami dan halaman yang dibuat di kami WordPress theme, kita dapat mulai menghasilkan semua posting kami. Kita akan menciptakan sebuah tabel yang sangat sederhana untuk menampilkan semua informasi yang diperlukan. Memulai dengan membuat sebuah tabel dengan beberapa judul, sebagai berikut:

Sekarang bahwa kita memiliki tabel kami di tempat, kita dapat mulai mengisi baris tabel kami dengan informasi berkaitan dengan posting kami. Kita akan mulai dengan pertama membuat WordPress kustom loop, untuk memastikan bahwa kita mendapatkan semua posting dan semua status posting, karena kami ingin dapat melihat post yang pending, draft, published atau bahkan dikirim ke tempat sampah. Kita melakukan ini dengan memasukkan sedikit kode berikut:

Ini adalah objek query dengan semua parameter kustom kami yang telah diset. Anda dapat membaca tentang semua parameter yang berbeda kita dapat atur dari WordPress Codex. Selanjutnya kami akan menjalankan loop WordPress hanya setelah judul tabel kami, seperti ini:

Brilian! Kami memiliki megatur tabel kami, dan WordPress loop sudah diset. Sekarang kita hanya perlu untuk memasukkan informasi yang berkaitan dengan judul tabel kami. Menggantikan sel-sel kita tabel kosong dengan kode berikut:

Kode kami yang baru dimasukkan pertama dimulai dengan menampilkan judul posting kami, dan item berikutnya adalah menampilkan kutipan dari posting kita. Kami kemudian mendapatkan status posting saat ini dan mengirimkan ID posting ke fungsi ini dan akhirnya, kita memasuki dua link Edit dan Delete, kita akan menggunakan ini kemudian sebagai action kita.


Langkah 2 mengedit posting kami

Brilian, kami membuat kemajuan yang bagus. Kami telah menyiapkan tema kami untuk melihat semua posting kami melalui front end. Selanjutnya, kita akan mengedit posting. Kita mulai ini dengan menciptakan template halaman lain yang disebut template-edit-posts.php. Juga, kita akan membuat sebuah halaman baru melalui halaman Dashboard Pages -> Add New-> Page Attributes dan menetapkan template ke Halaman ini.

Sebelum kita mulai mengedit template ini, mari kita melompat kembali ke file template-view-posts.php kami dan memastikan bahwa kita mengirimkan ID posting URL yang mana kami akan mengambil ID dari halaman edit kami. Kita melakukan ini dengan menggunakan fungsi WordPress: add_query_arg. Kami akan memasukkan kode berikut tepat sebelum link Edit kami:

Kode kita yang baru dimasukkan, pertama set parameter name, dan kemudian berikut adalah mendapatkan ID dari pos dan kemudian kita mendapatkan ID dari template Edit halaman kami dan menambahkan argumen URL kustom kami. Kita akan menggunakan ini untuk mengambil informasi dalam template Edit kami.

Akhirnya, kami akan memperlihatkan ini ke dalam link edit kami, membuat kami link edit sebagai berikut:

Sekarang bahwa kita memiliki hal itu ditetapkan untuk ketika pengguna mengklik Edit pergi untuk mengedit Template kami dengan posting ID. Kami akan kembali ke file template-edit-posts.php dan mulai memasukkan kode kita.

Kita akan menyalin Form dari template-insert-posts.php dan masukkan ini ke Edit Template. Kami menyalin kode berikut ke edit template , dan menghapus semua nilai-nilai dari masukan dan textarea, kami membuat form sebagai berikut:

Sekarang bahwa kita memiliki form halaman Edit yang mengatur, kita akan perlu menggunakan WordPress loop untuk pergi melalui semua posting kami dan hanya menemukan posting id yang cocok ID URL kami. Kita akan melakukannya dengan menjalankan WordPress loop di bagian atas dari file kami:

Untuk loop WordPress untuk memastikan bahwa kita hanya mengambil informasi dari pos tertentu, kami akan memasukkan kode berikut yang memastikan bahwa kita mendapatkan yang benar posting ID, dalam loop kami:

Apa yang kita baru saja masukan adalah untuk mendapatkan URL parameter dan mengujinya terhadap posting ID, dan ketika ditemukan kami akan menetapkan ID untuk variabel current_post kami. Berikut ini kami akan memasukkan beberapa kode untuk mendapatkan informasi kami berkaitan dengan posting kami, masukkan kode berikut tepat di bawah assignment current_post kami:

Kode akhir akan terlihat seperti ini:

Ini bagus, kami membuat kemajuan yang baik. Sekarang bahwa kita memiliki semua informasi kami, kita hanya perlu untuk memasukkan ke dalam form nilai-nilai kita, ini sederhana seperti kami hanya akan menetapkan nilai-nilai untuk kedua bidang kami. Seiring dengan ini, kami akan memperbarui nama tombol kami ke Update Post. Kode berikut adalah form yang telah diperbaharui dengan diisi dengan judul dan isi dari pos yang diedit:

Seperti yang Anda lihat dari kode, kami telah memberi nilai input Post Title untuk output variabel judul, dan dalam textarea kami, kami memiliki outputted variabel, tapi kami konten seperti Anda mungkin telah menyadari bahwa ketika kita klik Update Post tidak ada yang terjadi, ini adalah karena kita belum menanganinya, dan kami akan melakukan ini sekarang.

Kita akan perlu untuk melompat kembali ke file template-insert-posts.php kita dan kita akan menyalin validasi form PHP kami ke Edit Template. Sekarang bahwa kita telah menyalin validasi form kami, kami akan membuat beberapa perubahan dan memasukkan beberapa kode. Kita perlu mengambil variabel current_post di validasi form kami, dan kami melakukannya dengan menetapkan variabel global dan kita menyisipkan ini di atas validasi kami:

Selanjutnya, kami akan membuat modifikasi array post_information. Ketika kami sedang mengupdate posting, kita perlu memastikan bahwa itu akan memperbarui posting yang benar dan bukan semua posting, kita melakukan ini dengan memasukkan parameter ID ke dalam array post_information kami. Membuat array kami sebagai berikut:

Akhirnya, kami akan membuat satu modifikasi akhir yang akan memastikan bahwa kami memperbarui posting dan tidak memasukkan posting baru. Kita melakukan ini dengan hanya mengubah fungsi kita menggunakan, daripada menggunakan wp_insert_post, kami akan menggunakan wp_update_post. Membuat kode akhir kami sebagai berikut:

Dan itu adalah untuk mengedit posting melalui front end. Akhirnya, ini bagian dari Mini seri kita akan pergi ke bagaimana menghapus posting.


Langkah 3 menghapus posting kami

Sekarang ada banyak cara yang berbeda untuk menghapus posting, dan telah ada banyak diskusi yang berbeda di metode terbaik tentang bagaimana untuk mencapai hal ini, oleh beberapa orang ini mungkin adalah metode yang salah tapi aku merasa bahwa itu bekerja dengan baik untuk situasi saat ini. Kita akan menggunakan fungsi get_delete_post_link.

Kami akan memasukan fungsi ini kepada Delete Link, bersama dengan ID dari pos, sebagai berikut:

Dan itu yang sederhana untuk menghapus posting melalui front end. Kami hanya akan memperluas ini sedikit untuk memastikan bahwa kita tidak akan memiliki kesalahan dan memberikan sedikit lebih banyak pengguna pemberitahuan bahwa kita menghapus posting. Kita melakukan ini dengan memasukkan sangat sederhana mengkonfirmasi fungsi onclick kami, sebagai berikut:

Akhirnya, kami akan membungkus kondisi di delete link, untuk memastikan bahwa kami hanya dapat menghapus posting jika status posting saat ini belum di tempat sampah. Kita melakukan ini sebagai berikut:

Dan hanya itu! Anda akan dapat mengirim posting ke tempat sampah. Kalau kau ingin tahu tentang metode alternatif tentang cara untuk menghapus posting, saya akan menjelaskan sangat singkat.

Metode ini sangat sederhana untuk mengedit posting, dengan memasukan ID posting ke URL dengan menambahkan parameter delete dan memeriksa jika nilai parameter ini true, dan jika itu true maka memasukan fungsi wp_trash_post untuk link. Ini sangat sederhana dan sangat efektif, tapi untuk situasi kita saat ini get_delete_post_link bekerja baik-baik saja.


Kesimpulan

Itulah Bagian 2 sudah lengkap! Kami sekarang dapat memasukkan post, mengedit dan menghapus post melalui front end. Kita telah membahas banyak konten sejauh ini, dan dalam bagian selanjutnya kita akan menggali sedikit lebih jauh.

Dalam bagian selanjutnya, kita akan memiliki melihat ke dalam bidang kustom dan banyak lagi.

Saya ingin mengucapkan terima kasih banyak untuk menghabiskan waktu untuk membaca tutorial saya, saya berharap itu membantu. Jangan ragu untuk meninggalkan komentar dan saya akan mencoba yang terbaik untuk membantu dan menjawabnya, jika tidak Anda selalu bisa menghubungi saya secara langsung melalui website saya: www.VinnySingh.co atau Twitter @VinnySinghUK

Menantikan untuk bagian 3!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.