web-dev-qa-db-ja.com

sqlを使ってパーマリンクを取得する方法

私は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()が機能していないということです。

2
Kallol Das

なぜあなたがカスタムクエリを使っていて、あなたが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 ] );
2
fuxia