Php Wordpress-如何获取下一个新帖子ID

Php Wordpress-如何获取下一个新帖子ID,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我需要在产品页面中获取下一个新帖子ID 所以我知道如何在DB中获取最后一个帖子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

所以我知道如何在DB中获取最后一个帖子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吗


如果您想获得第二大帖子id,请将查询更改为限制1,1,谢谢

$query=从$wpdb中选择ID->按ID发布订单描述限制1,1

试试这个:

global $wpdb;

$result  = $wpdb->get_results( "SHOW TABLE STATUS LIKE 'wp_posts'", ARRAY_A );

echo( $result[0]['Auto_increment']);
试试这个

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;
}

注意:在post_type='post'和LIMIT 1,1处,您可以根据您的post type将其更改为post_type='product'。

您的意思是尚未添加产品的post id吗?是的,在新产品页面中。我需要让他的ID产品不创建Yet仅供参考,因为它会在postId中添加3而不是1,因为wordpress在发布新帖子时也使用相同的表创建其他记录类型。其他的记录可能是1511和1511。哦,你想获得还没有创建的id,我想你需要获得第二大id。试试这个$next\u post=get\u next\u post$post\u id=$next\u post->id;代码返回已添加到数据库中的产品的id。从评论中我们看到,Mantas需要一个产品的id,但该id不在db中。@IvnH你是对的,但我相信wordpress已经自动保存到db中了,即使在创建帖子时还没有创建帖子,只是帖子类型是另一种类型。需要了解wordpress使用的post_类型。是的,不工作,我将post_类型更改为产品,但相同,不显示下一个id。@Mantas'MG'G。我将建议一些调试方法。1.当它不工作时,它显示什么ID?2.打开phpMyAdmin并查看表中有哪些记录以及您希望看到什么。它将开始变得更有意义: