-1

特定のユーザーによる投稿の最終変更/作成日を取得して、それをエコーし​​たい。

私がやろうとしていることは次のとおりです。

<?php $id = get_the_ID();               

global $current_user;
$current_user = wp_get_current_user();

$postID = $id;  //assigning post id
$userID = $current_user->ID;  // assigning user ID

$sql = "SELECT post_date FROM wp_posts WHERE ID = $postID AND post_author = $userID ORDER BY post_date DESC LIMIT 1";
$userModifiedDate = $wpdb->query($sql);
echo $userModifiedDate; ?>

私の間違いはどこですか?誰かが私をこれに導くことができますか?

現時点で$userModifiedDateは私を返します1

4

1 に答える 1

1

$wpdb->query()実際のクエリ結果ではなく、影響を受けた行数を返します。

http://codex.wordpress.org/Class_Reference/wpdb#Run_Any_Query_on_the_Database

$wpdb->get_var()またはなどのより具体的な関数を使用してみてください$wpdb->get_results()

$userModifiedDate = $wpdb->get_var( $sql );

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Variable

また、絶対$wpdb->prepare()に必要というわけではありませんが、最初にクエリを渡すことを常に好みます。

$sql = $wpdb->prepare( "SELECT post_date FROM wp_posts WHERE ID = %d AND post_author = %d ORDER BY post_date DESC LIMIT 1", $postID, $userID );

http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks

于 2013-01-23T18:16:03.857 に答える