J'essaie d'obtenir le titre du post par sql. Mon code SQL est
$query ="SELECT wp_posts.post_title AS title ,
wp_posts.post_content AS content,
wp_posts.post_date AS blogdate
FROM wp_posts
WHERE wp_posts.post_status = 'publish'
ORDER BY wp_posts.post_date DESC ";
global $wpdb;
$result= $wpdb->get_results($query);
if ($result){
foreach($result as $post){
?><li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
<?php echo $post->title; ?></a></li><?php
}
}else{
echo "Sorry, No Post Found.";
}
die();
Maintenant, le problème est que je reçois un titre mais the_permalink () ne fonctionne pas.
Je ne suis pas sûr de savoir pourquoi vous utilisez une requête personnalisée et non pas get_posts()
ou WP_Query
comme vous le devriez.
Quoi qu'il en soit, vous devez obtenir le code postal…
$query ="SELECT wp_posts.post_title AS title ,
wp_posts.post_content AS content,
wp_posts.post_date AS blogdate ,
wp_posts.ID AS ID
Et puis passez simplement cet identifiant à get_permalink()
:
get_permalink( $post->ID );
Similaire pour l'attribut title:
the_title_attribute( [ 'post' => $post->ID ] );