在自定义条件函数中使用(array()

时间:2018-02-13 00:49:57

标签: php wordpress if-statement

如何为以下自定义条件代码创建多个endpoint的数组?

function is_single_with_endpoint( $endpoint ) {
global $wp_query;
   if ( ! isset( $endpoint ) && ! empty( $endpoint ) ) {
       return false;
   }
   if ( array_key_exists( $endpoint, $wp_query->query_vars ) ) {
       return true;
   } else {
       return false;
   }
}

这将起作用我使用

if ( ! is_single_with_endpoint('overview') && ! is_single_with_endpoint('analytics') ) {

但不是

if ( ! is_single_with_endpoint(array('overview','analytics')) ){

2 个答案:

答案 0 :(得分:0)

我们可以直接浏览输入数组并检查每个输入是否有故障。如果它们都没有产生失败,那么它会在最后通过。

function calculateMonthlyRepayment() 

    var tStartDate = $find('dp_Start_Date');
    var startDate = tStartDate.get_value();
    var today = new Date();
    var numMonths = monthDiff(startDate, today);     
    var rate = igedit_getById('WebNumericEdit_InterestRate').getValue() * 0.01;
    var intRate = (rate / 100) / 12;
    var principal = igedit_getById('WebCurrencyEdit_Proposed_Owing').getValue();
    var repayment = (principal * (Math.pow((1 + intRate), numMonths)) * intRate / (Math.pow((1 + intRate), numMonths) - 1));

    igedit_getById('txt_Monthly_Repayment').setValue(repayment);

}
function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() + 1;
    months += d2.getMonth();
    return months <= 0 ? 0 : months;
}

答案 1 :(得分:0)

我会这样做,而不是:

function is_single_with_endpoint($endpoint = null){
  global $wp_query;
  if($endpoint === null){
    return false;
  }
  if(is_array($endpoint)){
    foreach($endpoint as $k => $v){
      if(!array_key_exists($k, $wp_query->query_vars)){
        return false;
      }
    }
  }
  else{
    if(!array_key_exists($endpoint)){
      return false;
    }
  }
  return true;
}