提问者:小点点

这段代码get_option('WOOCommerce_DB_Version',null)是什么意思?


如果(version_compare(get_option('WOOCommerce_DB_VERSION',null),'3.6','<')){RETURN;}

我想知道version_compare,get_option,'woocommerce_db_version',null等的详细说明。 请描述一下。 我想学


共1个答案

匿名用户

如果您想学习和使用wordpress,请访问所有开发人员文档:https://developer.wordpress.org/。 在这里您可以找到所有函数的描述(https://developer.wordpress.org/reference/functions/),我们感兴趣的是:https://developer.wordpress.org/reference/functions/get_option/

get_option( string $option, mixed $default = false )

Retrieves an option value based on an option name.

还有描述和参数文档:

$option (string) (Required) Name of option to retrieve. Expected to not be SQL-escaped.
$default (mixed) (Optional) Default value to return if the option does not exist.
Default value: false

因此,get_option按先前存储的名称(WOOCommerce_DB_Version)从db检索选项,或者如果先前未设置NULL(第二个参数),则返回NULL

现在version_compare-这是php函数:https://www.php.net/manual/en/function.version-compare.php

version_compare — Compares two "PHP-standardized" version number strings

这里使用了3个参数版本:

version_compare ( string $version1 , string $version2 , string $operator ) : bool

因此,在您提供的代码中,我们询问存储在WOOCommerce_DB_Version选项中的版本是否低于<3.6。 如果是,我们返回(不做更多的事情),但如果不是更低,我们执行下面的代码。

将IDE用于您的代码,所有这些文档都将在您的指尖下,无论是通过在函数上悬停还是通过单击它们。

使用PHP--一个交互式shell只测试一些代码/函数,例如:

php > var_dump( version_compare(null, '3.8', '<'));
bool(true)
php > var_dump( version_compare('3.7', '3.8', '<'));
bool(true)
php > var_dump( version_compare('3.8', '3.8', '<'));
bool(false)
php > var_dump( version_compare('3.9', '3.8', '<'));
bool(false)

如果您想知道'WooCommerce_DB_Version'选项到底是什么,请转到woocommerce github页面并搜索它https://github.com/woocommerce/woocommerce/search?q=27WooCommerce_DB_Version27&AmpUnscoped_q=27WooCommerce_DB_Version27,因为所有这些都是开源代码。