php - 设置 PHP 变量并同时获取 WooCommerce 选项?
问题描述
我在 WordPress 中看到以下代码,但不明白正在发生什么操作:
$debug_mode = 'yes' === get_option( 'woocommerce_shipping_debug_mode', 'no' );
这看起来像是(1)设置变量和(2)检查它是否与 WordPress 中设置的选项相同的某种组合。任何人都可以拼出这种情况下的逻辑/运算符吗?
另外,为什么有人会使用这种措辞而不是仅仅获得选择权?
解决方案
这就是所谓的三元。
但是,由于代码风格(缺少括号),很难看到实际发生的情况。
$debug_mode = 'yes' === get_option( 'woocommerce_shipping_debug_mode', 'no' );
我的偏好是将条件包装在括号中,以使其更加明显:
$debug_mode = ( 'yes' === get_option( 'woocommerce_shipping_debug_mode', 'no' ) );
现在看起来更清楚它是什么 -对选项是否为变量的赋值(它将返回 a或.$debug_mode
woocommerce_shipping_debug_mode
===
yes
TRUE
FALSE
这看起来像这样的“长手”是这样的:
$debug_mode = ( 'yes' === get_option( 'woocommerce_shipping_debug_mode', 'no' ) ) ? TRUE : FALSE;
但是,由于条件返回TRUE
或FALSE
无论如何,该? TRUE : FALSE
部分是多余的。
为了明确回答您的第二个问题,“为什么有人会使用这种措辞”-他们只是获得了选项值-他们这样写是因为它很简短。这是一个完美的例子,说明为什么我们应该为人类编写代码,而不仅仅是为机器编写代码 :)
推荐阅读
- excel - 您可以使用公式来实现 Solver,或者找到数值解吗?
- vuejs2 - 主页组件在浏览器中重复
- android - 如果用户有存储位置数据的相机设置,但手机位置已关闭,是否会存储位置?
- mongodb - Mongodb查询计算由其他字段分组的唯一字段数
- c++ - 将引用作为参数传递给类的正确方法
- javascript - Google Maps API 必须点击两次标记才能动态显示图像
- c# - 使用 Source Link 从本地 .snupkg 下载源码进行调试
- c++ - 引用成员引用另一个成员是否合法?
- regex - 正则表达式捕获 IP 地址 (S,G) 多播
- r - 更改 Sankey 中节点的位置