如何为自定义帖子类型赋予标题为“唯一”的递增数字?

时间:2017-06-09 作者:user1543784

我有一个名为“客户”的自定义帖子类型。使用前端表单获取数据,然后将其保存到post类型中。但我希望标题自动生成为唯一的增量数字。意思是,它将变成1,2,3,4。。

除了一个小问题,我已经解决了大部分问题。如果没有帖子,那么新标题将为1。如果有帖子,那么代码将获取最新的帖子,检查其标题,并通过将其增加1来生成新标题。到目前为止还不错。

但如果我删除了最近的帖子,之后添加的新帖子将被指定与上一篇相同的标题。此外,如果我删除所有帖子,标题将从#1重新开始。我不希望任何标题重复,无论之前的任何帖子或所有帖子是否被删除。我希望它们总是不断递增,不再分配相同的#。

1 个回复
最合适的回答,由SO网友:Jiten Gaikwad 整理而成

如果删除帖子,您使用的增量方法将无法达到您想要的效果。相反,您可以在前端表单提交时将计数器保存在wp\\U选项表中,类似于:

if(get_option(\'customers_count\')){
    $count = get_option(\'customers_count\', true);
    update_option(\'customers_count\', $count+1);
} else {
    /** This will automatically add the option if it does not exist. **/
    update_option(\'customers_count\', 1); // adding first time as value 1        
}
它将始终以新编号作为帖子标题#。

Note: 请确保仅在提交表单以添加新帖子而不是编辑帖子时才更新选项。

结束

相关推荐

Make post title active

嗨,我有一个简单的网站,显示列表中的每个帖子标题,我正在尝试更改活动帖子标题,使其在查看时有所不同。我试过这个,但不起作用。<ul class=\"students\"> <?php $IDOutsideLoop = $post->ID; global $post; $myposts = wp_get_archives(\'type=alpha\'); foreach($myposts as $post) :&#