我试图在每个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'];
?>
然而,这似乎不起作用。谁能解释为什么这不起作用?
谢谢!
答案 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;