事务安全在一些需求中是必须要保证的,比如购买商品后,需要生成订单并减少商品库存,如果一步失败则应回退数据。
在 WordPress 中 wpdb 封装了各种操作 MySQL 的方法,但是唯独缺少对事务的支持。
不过还好,wpdb 有一个 query 方法,可以直接调用 MySQL 命令。
使用举例:
function create_order($goods_id, $stock, $number) {
global $wpdb;
$wpdb->query('START TRANSACTION');
$wpdb->insert(
$wpdb->prefix . 'order',
[
'goods_id' => $goods_id,
'number' => $number,
'status' => 0,
'createtime' => current_time('mysql')
]
);
if ($wpdb->last_error) {
$wpdb->query('ROLLBACK');
return;
}
$wpdb->update(
$wpdb->prefix . 'goods',
[
'stock' => $stock - $number
],
[
'id' => $goods_id
]
);
if ($wpdb->last_error) {
$wpdb->query('ROLLBACK');
return;
}
$wpdb->query('COMMIT');
}
-
担心WordPress REST API暴露用户名?这里有一个简单的屏蔽方法!在深入探讨WordPress REST API的利用与功能时,追格小编虽已分享了多篇相关内容,但我们依然理解,部分用户可能仍对网站用户名暴露的问题心存顾虑,尤其是当他们并不需要使用到如古腾堡编辑器或小程序等特定功能时。针对这一关切,今天小编特地为大家介绍一种有效的屏蔽方法。
-
从服务器到本地:如何利用Studio和Local在本地开发WordPress网站在WordPress建站时,很多同学可能习惯于直接上传代码到服务器进行安装。但如果你想要更快速地开发和测试网站,搭建本地开发环境是个关键步骤。
-
WordPress圈子到底怎么了...话说,国内WordPress圈子是否还有新的发展机遇?这个充斥着同质化产品和激烈内卷的市场中,如何在价格和功能的差异化上寻求突破,为圈子注入新的活力,是开发者不得不面对的问题。
-
重塑WordPress生态的思考与探索前两天的《WordPress圈子到底怎么了...》这篇文章大家都挺有感触的,群里聊得热火朝天。里头啥声音都有:有的哥们儿直接吐槽WordPress性能拖后腿,躲都躲不及;有的则感慨流量难搞,但坚持建站纯粹是出于热爱和那份情怀;还有人预言,以后建站啊,模块化、可视化才是王道;较热闹的还得数短视频和直播,这家伙一来,内容消费整个儿变了天,网站和小程序怎么赚钱都成难题了。
-
Loco Translate 一款专为WordPress设计的翻译插件WordPress Loco Translate是一款专为WordPress用户设计的翻译插件,它简化了主题和插件的多语言翻译过程。
-
WordPress后台待审文章显示气泡提示的方法之前小编分享过一篇《WordPress 后台菜单添加 badge-红点提示(气泡通知)》的文章,今天我简单说说待审文章(为全部文章类型显示待审角标提示)的气泡提示如何操作。
暂无评论,抢个沙发...