Saya memiliki plugin dan saya ingin dapat menjalankan konten posting melalui beberapa filter sebelum disimpan ke database. Dari melihat api plugin , saya melihat bahwa dua kait yang terlihat seperti itu mungkin membantu:
save_post
wp_insert_post
Satu-satunya masalah adalah sepertinya save_post
tidak perlu mengembalikan variabel, dan jadi saya tidak tahu cara memfilter konten, dan wp_insert_post
terlihat terdokumentasi.
Saya ingin melakukan sesuatu seperti ini:
add_action('whatever_hook_name','my_function');
function my_function($post_content){
return $post_content.' <br> This post was saved on '.time();
}
Saya akan melakukan sesuatu yang lebih berguna daripada menambahkan cap waktu, yaitu menjalankan beberapa filter regex, tetapi ini adalah tipe umum dari filter / tindakan yang saya coba tambahkan.
Memperbarui
Harap dicatat bahwa saya ingin mencegat data tentang cara disimpan dalam basis data - bukan saat ditampilkan di pos (mis: Tidak dengan menambahkan filter ke the_content
)
This post was...
data " " 2. yang seperti ini harus disimpan sebagai nilai meta posting :-) BTW:save_post
dipanggil setelah data disimpan, oleh karena itu setelah itu telah disimpan ke basis data (bukan yang Anda inginkan).Jawaban:
The wp_insert_post_data filter dapat melakukan itu:
sumber
add_action
meskipun bukanadd_filter
. juga Andawpse35931_filter_post_data
danfilter_handler
tidak sesuai ...wp_insert_post_data
berfungsi, tetapi sedikit dikuasai untuk apa yang ingin dicapai OP (dan mungkin orang lain). Opsi yang lebih sederhana dalam situasi ini adalahcontent_save_pre
seperti yang direkomendasikan oleh @drzaus.wp_insert_post_data
filter: developer.wordpress.org/reference/hooks/wp_insert_post_dataGunakan filter
content_save_pre
persis sepertithe_content
- perbedaannya adalah ia beroperasi saat sebuah posting disimpan, bukan ditampilkan.http://codex.wordpress.org/Plugin_API/Filter_Reference/content_save_pre
sumber
Anda juga dapat memeriksa kaitnya
pre_post_update
sumber
Tambahkan kode berikut untuk tema aktif untuk mengganti
<shell>
dengan[shell]
sebelum menyimpan:sumber
Jika Anda hanya ingin menambahkan sesuatu yang serupa di akhir semua posting, maka saya sarankan Anda menggunakan
the_content
filter.sumber