如何修改PHP报价工单生成短代码 实现1、2、3顺序递增的连续编号
实现连续递增报价工单编号的修改方案
修改后代码
/* Generate Incremental Quote Ticket */ function genTicketString() { // 读取已存储的最新工单编号,首次调用默认返回0 $current_ticket = get_option('latest_quote_ticket_number', 0); // 计算本次要生成的新编号 $new_ticket = $current_ticket + 1; // 更新存储的最新编号,供下次调用使用 update_option('latest_quote_ticket_number', $new_ticket); // 返回生成的编号 return $new_ticket; } add_shortcode('quoteticket', 'genTicketString');
逻辑说明
原有实现采用随机哈希生成字符串,天然不具备连续性。本次修改借助WordPress内置的options存储能力持久化保存当前最大的工单编号,每次调用短代码时自动累加,即可生成1、2、3……格式的连续编号。
可选调整项
- 如果需要指定起始编号:比如要从1000开始生成,只需要额外运行一次
update_option('latest_quote_ticket_number', 999);(运行一次后即可删除该行代码)即可 - 如果需要固定长度的补零编号:比如要生成0001、0002的4位格式,把返回行修改为
return str_pad($new_ticket, 4, '0', STR_PAD_LEFT);即可
注意事项
上述方案适用于低并发场景,如果你的站点同一时间会有大量工单生成请求,为避免出现重复编号,建议改用数据库自增主键的方式实现编号生成逻辑。
内容的提问来源于stack exchange,提问作者Laurapnunez
相关产品推荐
相关产品推荐

