Сначала, дополнительный синтаксис хорош использовать, но исторически он используется в файлах шаблона. Так как это - структура, легко удобочитаемое в то время как coupling/decouping переводчик PHP, чтобы интерполировать данные о HTML.
Во-вторых, вообще мудро, если весь ваш код делает должен проверить что-то, чтобы немедленно возвратиться, если то условие соблюдают:
$match_found = false;
$referer = wp_get_referer();
$valid_referers = array(
'dd-options',
'dd-options-footer',
'dd-options-offices'
);
/** Loop through all referers looking for a match */
foreach($valid_referers as $string) :
$referer_valid = strstr($referer, $string);
if($referer_valid !== false) :
$match_found = true;
break;//break here. You already know other values will not change the outcome
endif;
endforeach;
/** If there were no matches, exit the function */
if(!$match_found) :
return false;
endif;
// if you don't do anything after this return, it's identical to doing return $match_found
Теперь, как определено некоторыми из других постов в этой нити. У PHP есть много функций, которые могут помочь. Вот пара больше:
in_array($referer, $valid_referers);// returns true/false on match
$valid_referers = array(
'dd-options' => true,
'dd-options-footer' => true,
'dd-options-offices' => true
);// remapped to a dictionary instead of a standard array
isset($valid_referers[$referer]);// returns true/false on match
Спросите, есть ли у вас какие-либо вопросы.