Je dois retirer la date de publication du post afin de faire expirer automatiquement le post. Le problème est que je ne peux pas obtenir la bonne date de publication.
Voici mon code:
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
}
Quand je fais écho à la $ postdate, elle sort avec une mauvaise date. Pas la date qui existe dans la table wp_posts.
Comment puis-je obtenir la date correctement?
get_the_time
est la fonction correcte à utiliser ici.get_posts
puis si vous souhaitez extraire uniquement les ID, utilisezwp_list_pluck
Quelques soultions modernes
Solution un
Deuxième solution
la source
Vous pouvez utiliser get_post () ou get_post_field () pour cela, les deux fonctionnent en dehors de la boucle.
Une liste complète des valeurs renvoyées par get_post:
la source
essayez comme ça
Éditer
get_the_time Renvoie l'heure de la publication actuelle à utiliser en PHP. Il n'affiche pas l'heure. Pour afficher l'heure d'une publication, utilisez the_time (). Cette balise doit être utilisée dans The Loop.
get_the_date La balise de modèle get_the_date récupère la date à laquelle la publication $ actuelle a été écrite. Contrairement à the_date (), cette balise renverra toujours la date. Modifiez la sortie avec le filtre 'get_the_date'.
Est-ce que j'ai râté quelque chose?
la source