用我的一种不太强大的语言 PHP 构建一个插件。
在这个插件中,我需要一个函数来为我存储一个 ID 并在每次执行时增加给定的值。 使用这段代码我可以实现:对于每次执行增加给定值 +1
$wpdb->query("UPDATE `wp_selector` SET `name`= name+1 WHERE 1");
每次执行的结果:1、2、3、4、5..等
是否尝试使用相同的方法,其中我的初始值类似于“ABC000001”,试图实现 ABC000001、ABC000002、...ABC056211
结果:1,2,3..
当插件激活时,我创建表并将我的初始值(如“ABC000001”)放入“名称”中
我如何通过 +1 增加值并保持我的值结构,所以它会转到“ABC000001”并继续增加,所以它最终会像“ABC999999”而不是“ABC00000999999”
最佳答案
存储自定义全局数据是 wp_options 表的用途,Wordpress 有一些功能可以帮助您实现这一点。您可以采用几种不同的方式来解决这个问题,具体取决于您希望它如何工作,但我会做这样的事情......
function myplugin_create_id() {
//Check if you have an ID stored
$current_id = get_option( 'myplugin_id', 1 );
//Add one to create new ID
$new_id = $current_id + 1;
//Update option in DB
update_option( 'myplugin_id', $new_id );
//Create string in correct format
$formatted_id = 'ABC';
$formatted_id .= str_pad( $current_id, 6, "0", STR_PAD_LEFT);
//Return formatted ID
return $formatted_id;
}
此函数在选项表中存储一个数字,每次将数字加 1,并通过在存储的数字前加上“ABC”并使用 str_pad() 确保数字字符串为 6 位长来返回格式化字符串。
现在每次您想要生成一个新 ID 时,您只需使用...
$id = myplugin_create_id();
希望这就是您正在寻找的答案。
问候
丹
关于php - 使用 +1 | 增加包含文本 + 数字的 DB 值 | WordPress的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544454/