私はSQLで投稿タイトルを取得しようとしています。私のSQLコードは
$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();
今問題は私はタイトルを取得していますがthe_permalink()が機能していないということです。
なぜあなたがカスタムクエリを使っていて、あなたがget_posts()
やWP_Query
を使っているのかわからない。
とにかく、投稿IDを取得する必要があります…
$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
そして、このIDをget_permalink()
に渡します。
get_permalink( $post->ID );
Title属性についても同様です。
the_title_attribute( [ 'post' => $post->ID ] );