在single.php wordpress中调用特定行

时间:2013-12-28 16:08:26

标签: php mysql wordpress

我试图在每个wordpress帖子中调用一行。我认为解决这个问题的最佳方法是在我通过帖子ID调用的single.php文件中插入一段代码:

<?php 

$result  = "SELECT post_date FROM wp_posts WHERE ID = get_the_ID()";
$row = mysql_fetch_assoc($result);
echo $row['post_date'];

?>

然而,这似乎不起作用。谁能解释为什么这不起作用?

谢谢!

3 个答案:

答案 0 :(得分:0)

wordpress中的get_the_ID()是PHP函数,而不是SQL函数。所以试试:

$result  = "SELECT post_date FROM wp_posts WHERE ID = ".intval(get_the_ID());

* intval强制使用数字,并避免SQL注入。

答案 1 :(得分:0)

WordPress提供了一个很好的数据库抽象层,以消除您直接阅读posts表的需要。从您使用get_the_ID()可以看出,您正在使用代码中的“当前”帖子或页面。那么,猜猜怎么着? post表的那一行已经被WordPress加载了。尝试这样的东西来检索它。

 $post = get_post();
 echo $post->post_date;

有关详细信息,请参阅http://codex.wordpress.org/Function_Reference/get_post

答案 2 :(得分:0)

<?php
global $post;
// $ids is an array with the required id's
$ids = array(1,2,24,234,2342);
$args = array(
    'include'          => $ids,
);

$myposts = get_posts($args);
//You always need $post, because setup_postdata assings eveyrhing to post...
//thats a Wordpres...way of things...
foreach($myposts as $post): setup_postdata($post):
    the_time('F jS, Y');
//Don't forget to reset postdata
wp_reset_postdata();
endofreach;