2017-06-02 109 views
0

我想在我的网站上显示不同的标题。基于用户或页面。 目前,我使用下面的代码:在一个函数中组合多个条件标签

<?php if(isset($_GET['action']) && $_GET['action'] == "register" or isset($_GET['action']) && $_GET['action'] == "login" or !is_user_logged_in()) : ?> 

它显示了其他的头如果用户在登录/注册页面或未登录 对于未来我想补充了很多从WordPress/WooCommerce更多的条件标签到这个。例如:is_cart,is_checkout,...

有没有一种方法可以将所有这些功能合并到functions.php中的单个函数中,以便在网站的不同区域使用它?并保持所有这一切在一个单一的功能?

我想到的是这样的:

is_simple_header() 

回答

0

只写你的功能..。也许是这样的:

function is_page_type($type) { 
    switch($type) { 
     case 'simple': 
      return isset($_GET['action']) && $_GET['action'] == "register" or isset($_GET['action']) && $_GET['action'] == "login" or !is_user_logged_in(); 
      break; 
    } 
    return false; 
} 
0

您可以创建功能,并使用一个布尔值作为响应:

function is_simple_header() { 
    $ret = false; 
    if (isset($_GET['action']) && $_GET['action'] == "register") $ret = true; 
    if (isset($_GET['action']) && $_GET['action'] == "login") $ret = true; 
    if (!is_user_logged_in()) $ret = true; 
    return $ret; 
} 

可以工艺优化这些功能切换到交换机()函数,如果你只使用$ _GET [ '动作']。如果你需要新的条件,只需要添加更多的条件。

你的检查现在看起来是这样的:

<?php if(is_simple_header()) : ?>