将wp_Get_Sites切换为Get_Sites

时间:2016-09-02 作者:Morgan

WordPress最近折旧wp_get_sites() 赞成get_sites() 在版本4.6中。我看到过一些更新,人们只需将代码从wp\\u get\\u sites()切换到get\\u sites(),即可对代码进行更改。然而,我今天注意到了这一点:

$sites = wp_get_sites();

foreach ( $sites as $site ) {
...

$sites = ( function_exists( \'get_sites\' ) ) ? get_sites() : wp_get_sites();

foreach ( $sites as $site ) {
$site = (array) $site;
...
这项更改的作用是什么?为什么从旧函数中删除wp\\uu而使用新函数会有用?它是如何工作的?

我在哪里可以了解到更多有关使用缩短版本的信息,在该版本中,它检查函数并在一行中具有回退功能?这个有名字吗?

1 个回复
最合适的回答,由SO网友:Jeremy Ross 整理而成

This is a great question.

首先,您所指的比较运算符(?:)称为ternary operator. 这对于简单的if/then块非常有用。我花了一段时间才习惯,但现在我一直在使用它们。

您可以接受一个简单的表达式并根据该表达式的结果返回一个值。

这将使$_GET[\'string\'] 输入变量(如果存在),如果不存在,则输入空字符串。

$query_string = isset($_GET[\'string\']) ? sanitize_text_field($_GET[\'string\']) : \'\';

你也可以直接回应

echo $name != \'\' && isset($name) ? "Hello, " . $name : "I don\'t believe we\'ve met"
或者将其放入数组中。。。还有布尔人!

$my_array = array(
    \'is_gt_5\' => $this_number > 5 ? true : false
);

Why use them here?

有人可能使用回退的原因是,并非所有人都使用4.6。以这种方式编写有助于保持向后兼容性并支持将来的兼容性。