首页 > 解决方案 > 如何在某些条件下合并两个 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)逻辑合并。

标签: phphtmlwordpress

解决方案


只需创建一个根据您的条件设置的变量。

$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

推荐阅读