我需要在产品页面中获取下一个新的帖子ID。
所以我知道如何获取数据库中的最后一个帖子ID, 但是我需要知道第二个新的帖子ID。
function GetLastPostId()
{
global $wpdb;
$query = "SELECT ID FROM $wpdb->posts ORDER BY ID DESC LIMIT 0, 1";
$result = $wpdb->get_results($query);
$row = $result[0];
$id = $row->ID;
return $id;
}
问题是, 例如, 知道最后一个帖子ID是1510, 但是随后我创建了产品-帖子ID是因为1513而不是1511(添加了3而不是1)。然后我删除一些页面/产品, 它添加了2个而不是3个, 有时是1个
那么有可能如何获得下一个帖子ID?
谢谢
#1
尝试这个:
global $wpdb;
$result = $wpdb->get_results( "SHOW TABLE STATUS LIKE 'wp_posts'", ARRAY_A );
echo( $result[0]['Auto_increment']);
#2
如果你想获得第二大的帖子ID, 请将你的查询更改为限制1, 1
$ query =”从$ wpdb->中选择ID的ID顺序为ID DESC LIMIT 1, 1″;
#3
尝试这个
function SecondLastPostId()
{
global $wpdb;
$query = "SELECT ID FROM $wpdb->posts WHERE post_type = 'post' ORDER BY ID DESC LIMIT 1, 1";
$result = $wpdb->get_results($query);
$row = $result[0];
$id = $row->ID;
return $id;
}
请注意, 在WHERE post_type =’post’和LIMIT 1, 1处, 你可以根据你的帖子类型将其更改为post_type =’product’
评论前必须登录!
注册