Saya perlu mencabut tanggal publikasi posting agar posting posting otomatis kedaluwarsa. Masalahnya adalah saya tidak bisa mendapatkan tanggal publikasi yang tepat.
Ini kode saya:
global $wpdb;
$post_ids = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_status ='publish'" );
foreach($post_ids as $id){
$postdate = get_the_date("Y-m-d",$id ); //here is what I can figure out
.......
......etc
}
Ketika saya mengulangi $ postdate, itu keluar dengan tanggal yang salah. Bukan tanggal yang ada di tabel wp_posts.
Bagaimana saya bisa mendapatkan tanggal dengan benar?
get_the_time
adalah fungsi yang benar untuk digunakan di sini.get_posts
dan kemudian jika Anda ingin mengekstraksi ID saja, gunakanwp_list_pluck
Beberapa soulions modern
Solusi Satu
Solusi Dua
sumber
Anda dapat menggunakan get_post () atau get_post_field () untuk ini, keduanya berfungsi di luar loop.
Daftar lengkap nilai yang dikembalikan oleh get_post:
sumber
coba seperti ini
sunting
get_the_time Mengembalikan waktu posting saat ini untuk digunakan dalam PHP. Itu tidak menampilkan waktu. Untuk menampilkan waktu posting, gunakan the_time (). Tag ini harus digunakan dalam The Loop.
get_the_date Tag template get_the_date mengambil tanggal saat $ post ditulis. Tidak seperti the_date () tag ini akan selalu mengembalikan tanggal. Ubah output dengan filter 'get_the_date'.
Apakah saya melewatkan sesuatu di sini?
sumber