Pods: Masalah Sebenarnya: Nama Cadangan tidak boleh ditambahkan

Dibuat pada 13 Jul 2019  ·  20Komentar  ·  Sumber: pods-framework/pods

Jelaskan bugnya
Pertama kali menggunakan Pod. Mengalami ini (direproduksi menggunakan master): classes/PodsAPI::save_pod keluar sebelum memanggil cache_flush_pods ketika menemukan kesalahan apa pun saat menyimpan bidang yang baru ditambahkan. Meskipun tampaknya bidang lain masih disimpan ke database, mereka tidak terlihat oleh pengguna akhir sampai cache dihapus.

Nomor baris revisi saat ini 2356 :

if ( ! empty( $errors ) ) {
    return pods_error( $errors, $this );
}

$this->cache_flush_pods( $pod );

(PS Sejauh yang saya tahu, sepertinya tidak ada penanganan kesalahan karena gagal menyimpan bidang.)

Untuk Mereproduksi
Langkah-langkah untuk mereproduksi perilaku:

  1. Mengedit pod
  2. Tambahkan bidang dengan nama 'foobar'
  3. Tambahkan bidang dengan nama 'nama' (atau 'post_title', atau nama bidang yang ada)
  4. Simpan pod

Amati: tidak ada bidang yang baru ditambahkan yang ditampilkan setelah disimpan

Reproduced Bug Documentation

Semua 20 komentar

Issue-Label Bot secara otomatis menerapkan label Type: Bug untuk masalah ini, dengan keyakinan 0,98. Harap tandai komentar ini dengan :thumbsup: atau :thumbsdown: untuk memberikan umpan balik bot kami!

Tautan: beranda aplikasi , dasbor , dan kode untuk bot ini.

+1 Memiliki masalah yang sama. Menyetel nama yang diawetkan tidak memberikan kesalahan.

Lihat #4122 Ini harus diterapkan pada nama bidang, taksonomi, tipe pasca, dll. Seseorang seharusnya tidak dapat mengetikkan nama bidang APAPUN, tipe pasca, atau taksonomi yang ada di Daftar Bidang Nama yang DIDAPATKAN.

Saya mengajukan laporan bug #5440 di mana saya memiliki masalah yang sama dengan bidang berlabel 'status'. Namun, 'status' tidak ada dalam daftar Ketentuan Cadangan Wordpress. Dari kasus yang disebutkan di atas, 'nama' ada dalam daftar itu, tetapi 'foobar' tidak. Hal yang sama berlaku untuk daftar PHP dari kata-kata yang dicadangkan.

Daftar Wordpress: (https://codex.wordpress.org/Reserved_Terms)
Daftar PHP https://www.php.net/manual/en/reserved.php

Mungkin beberapa daftar kata cadangan lainnya juga mengganggu?

@raoulunger Sudahkah Anda mencoba PR terbaru tentang kata kunci yang dipesan?

EDIT: status bukan kata kunci yang dicadangkan WordPress tetapi untuk Pod karena digunakan sebagai salah satu bidang objek Pod. (masih menyelidiki saat ini)

Hai, saya melihat Anda menghapus pertanyaan ;-). Terima kasih telah menyelidiki!

Yap, setelah diselidiki ternyata status adalah alias untuk post_status dalam Pod (untuk digunakan di Magic Tag dll).
Daftar lengkap kunci dan alias default:

ID                     ==> id
post_title             ==> title & name
post_content           ==> content
post_excerpt           ==> excerpt
post_author            ==> author
post_date              ==> created & date
post_date_gmt
post_status            ==> status
comment_status
ping_status
post_password
post_name              ==> slug &  permalink
to_ping
pinged
post_modified          ==> modified
post_modified_gmt
post_content_filtered
post_parent            ==> parent
guid
menu_order
post_type              ==> type
post_mime_type
comment_count
comments

@sc0ttkclark @jimtrue Saya pikir masalah ini bisa ditutup, setuju?

Oke, itu menjelaskan masalah sejauh menyangkut 'status' — terima kasih telah mengetahuinya, dan untuk daftarnya!

Untuk mengatasi masalah yang lebih luas tentang penggunaan kata-kata yang dicadangkan (topik ini, dan juga #4122), tampaknya akan ada beberapa opsi:

  • kode diubah sehingga alias untuk id sebenarnya dapat digunakan, atau (jika itu tidak bisa dilakukan),
  • peringatan ditampilkan ketika kata 'terlarang' digunakan, dan
  • beberapa referensi dibuat di suatu tempat dalam dokumentasi fenomena ini dan daftar di atas untuk kata-kata larangan.

Omong-omong, mudah bagi saya untuk menyarankan semua ini tentu saja, karena saya tidak dapat membantu di sini - keterampilan pengkodean saya terlalu terbatas, maaf!

Bersulang!

ID hanyalah kata kunci yang dicadangkan, saya rasa kami tidak dapat mengubahnya.
Tentang peringatan, saat ini ditampilkan tetapi ini dilakukan melalui AJAX (sisi server) dan tidak langsung saat mengetik. Saya pikir ini adalah sesuatu yang akan kami tambahkan di masa mendatang, tetapi bukan sebagai rilis pemeliharaan.
Dokumentasi selalu merupakan ide yang bagus. @jimtrue Bisakah Anda membuat halaman dokumen untuk ini yang dapat saya gunakan?

Tidak dapat ditutup sampai didokumentasikan. Adakah 'alias' lain yang tidak berfungsi untuk dibuat sebagai bidang? yaitu 'judul' 'induk' dll?

Hanya ini yang dapat saya temukan sejauh ini (selain dari kata kunci inti WP yang telah disebutkan)

Ini masih perlu ditambal karena kami harus menjelaskan MENGAPA kami tidak mengizinkan bidang tersebut ditambahkan. Saat ini, kami tidak memberi mereka informasi.

Itu tidak sepenuhnya benar, AJAX mengembalikan pesan kesalahan, tetapi hanya setelah disimpan.

Saya tidak menerima kesalahan yang terlihat ketika saya menggandakan masalah. Jika tidak ada kesalahan yang terlihat oleh pengguna, itu masalah.

Apakah Anda menguji dengan PR terbaru? #5441
Ingatlah bahwa kata kunci yang dicadangkan ini diperbolehkan untuk nama bidang. Hanya saja tidak untuk Pod (CPT/Pajak), lihat #5428.

Saya juga tidak menerima pesan kesalahan (karenanya kebingungan). Saya belum menguji dengan PR terbaru, karena saya benar-benar tidak tahu bagaimana melakukannya (maaf sekali lagi - saya cukup baru di sini).

Pada 19 Agustus 2019, pukul 17:50, Jory Hogeveen [email protected] menulis:

Apakah Anda menguji dengan PR terbaru? #5443 https://github.com/pods-framework/pods/pull/5443
Ingatlah bahwa kata kunci yang dicadangkan ini diizinkan untuk nama bidang. Hanya tidak untuk Pods (CPT/Tax), lihat #5428 https://github.com/pods-framework/pods/pull/5428 .


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, melihatnya di GitHub https://github.com/pods-framework/pods/issues/5420?email_source=notifications&email_token=AM2NSKDD43ZU2JY47LPKRV3QFK6LTA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4TNDNQ#issuecomment-522637750 , atau mematikan benang https://github.com/ pemberitahuan/berhenti berlangganan-auth/AM2NSKESXEIVUY3PLHRRMW3QFK6LTANCNFSM4ICZDB7Q .

@sc0ttkclark @jimtrue Bisakah ini ditutup?

Jika kita memindahkan cache flushing sebelum mengirim pods_error, kita bisa menyelesaikan fokus utama tiket ini.

Diperbaiki di #5459

Apakah halaman ini membantu?
0 / 5 - 0 peringkat