使用 +1 | 增加包含文本 + 数字的 DB 值 | WordPress的

Increase DB value containing Text + Numbers with +1 | Wordpress

用我的一种不太强大的语言构建插件,PHP。

在这个插件中,我需要一个函数来为我存储一个 ID,并在每次执行时增加给定的值。 W用这段代码我可以实现:每次执行增加给定值 +1

$wpdb->query("UPDATE `wp_selector` SET `name`= name+1  WHERE 1"); 

每次执行的结果: 1, 2, 3, 4, 5..etc

是否尝试使用相同的方法,其中我的初始值类似于 'ABC000001' 试图实现 ABC000001、ABC000002、...ABC056211

结果: 1,2,3..

当插件激活时,我创建 table 并将我的初始值如 'ABC000001' 放入 'name'

我如何用 +1 增加值并保持我的值的结构,所以它会转到 'ABC000001' 并继续增加,所以它最终会像 'ABC999999' 而不是 'ABC00000999999'

存储自定义全局数据是 wp_options table 的用途,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;
}

此函数在选项 table 中存储一个数字,每次将数字加 1 并 returns 通过在 'ABC' 存储的数字前面加上 [=] 格式化字符串26=]() 以确保数字字符串的长度为 6 位数字。

现在每次您想要生成一个新 ID 时,您只需使用...

$id = myplugin_create_id();

希望这就是您要找的答案。

此致