我认为您的查询没有任何问题(除了一些糟糕的查询编写风格)。你没有解释“不起作用”。你得到了什么回报?你有什么错误吗?
可能你没有published
job_listing
!
但是,以下是如何改进给定代码:
$oldest_post_id = $wpdb->get_row("SELECT `id` FROM {$wpdb->posts} WHERE `post_type` = \'job_listing\' AND `post_status` = \'publish\' ORDER BY `post_date` ASC");
请注意
$wpdb->posts
部分这将在任何wordpress安装中安全工作,即使使用自定义表前缀。
您不应该使用mysql_query
直接地如果在函数中使用此查询,则需要包括$wpdb
您的职能如下:
function myfunc(){
global $wpdb;
$wpdb->show_errors(true);
$oldest_post_id = $wpdb->get_row("SELECT `id` FROM {$wpdb->posts} WHERE `post_type` = \'job_listing\' AND `post_status` = \'publish\' ORDER BY `post_date` ASC");
var_dump($oldest_post_id);
}
现在,应该显示任何查询错误(如果有),并且
var_dump()
应该给你的职位ID。否则,请返回给我们什么是返回。工作时移除
3rd 和
5th 第二个示例中的行。