php - 如何在某些条件下合并两个 php 代码?
问题描述
我正在一个 wordpress 网站上工作,我通过以下代码控制主页的内容:
代码 A:
$special_reports = new \WP_Query( [
'post_type' => 'current-special-report',
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page' => 4,
]);
通过上面的代码,主页上显示了 4 个帖子。
在某些情况下,我希望它显示为 2。当 时if($data->{"toggle_status"}==3)
,我希望 posts_per_page 为2。为此,我使用以下逻辑:
代码 B:
if($data->{"toggle_status"}==3) {
$special_reports = new \WP_Query( [
'post_type' => 'current-special-report',
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page' => 2,
]);
}
问题陈述:
我想知道,是否有任何方法可以将代码 A 和代码 B 与($data->{"toggle_status"}==3)
逻辑合并。
解决方案
只需创建一个根据您的条件设置的变量。
$posts_per_page = 4; //default is set to 4
if($data->toggle_status === 3) {
$posts_per_page = 2; //set to 2 if condition is met
}
$special_reports = new \WP_Query( [
'post_type' => 'current-special-report',
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page' => $posts_per_page,
]);
这有一个额外的好处,即以后能够轻松地添加更多条件以最终更改值。
注意:如果$data->toggle_status
返回一个字符串,你的 if 语句可能会略有变化,它会变成:
$data->toggle_status === "3"
$data->toggle_status == 3
推荐阅读
- r - 如何在 R 中创建缩略图
- c# - .NET Core 2 C# - 时间点 SQL Azure 还原
- android - 从 IDE 与命令行运行 React-native
- javascript - FabricJS - 能够输出(到 PNG)一小部分画布,而不是整个画布
- posix - 如何在 C++ 中正确使用 ftruncate(int aux, off_set n)
- c++ - 用 C++ 捕获传出的数据包
- hadoop - 如果我已经用 Ambari 安装了 Hadoop,我可以用 CDH 安装第二个 Hadoop 吗?在同一台机器上
- python - 以纳秒为单位的 CPU 时间 python - 使用已弃用的还是新的?
- laravel - 如何在服务器上安装 vue-cli?
- debugging - 使用 gdb 调试静态库