0
我一直在使用插件,並且此插件有一個自定義字段檢查,它似乎不起作用。在用於檢查具有特定條件的自定義字段的插件的代碼下方。preg_match():分隔符不能是字母數字或帶自定義字段檢查的反斜槓
<?php if ($custom_field_value != null) {
if (($set['condition']['value']['operator'] == 'is' && $set['condition']['value']['value'] == $custom_field_value)
|| ($set['condition']['value']['operator'] == 'is_not' && $set['condition']['value']['value'] != $custom_field_value)
|| ($set['condition']['value']['operator'] == 'contains' && preg_match($set['condition']['value']['value'], $custom_field_value)) //The problematic line.
|| ($set['condition']['value']['operator'] == 'does_not_contain' && !preg_match($set['condition']['value']['value'], $custom_field_value))
|| ($set['condition']['value']['operator'] == 'lt' && $set['condition']['value']['value'] < $custom_field_value)
|| ($set['condition']['value']['operator'] == 'le' && $set['condition']['value']['value'] <= $custom_field_value)
|| ($set['condition']['value']['operator'] == 'eq' && $set['condition']['value']['value'] == $custom_field_value)
|| ($set['condition']['value']['operator'] == 'ge' && $set['condition']['value']['value'] >= $custom_field_value)
|| ($set['condition']['value']['operator'] == 'gt' && $set['condition']['value']['value'] > $custom_field_value)) {
$proceed = true;
}
}?>
問題就出在 '包含' 行內,給下面的錯誤在我的debug.log:
PHP的警告:的preg_match():分隔符不能是字母,數字或反斜線
該檢查用於檢查自定義字段是否包含'30','text1'或'text2'。
現在我可能在這裏錯了,但我相信我沒有在這裏使用任何分隔符。這裏可能會出現什麼問題?
當我讀到這我認爲它會起作用,可悲的是它不會。我相信有時wordpress中的一個自定義字段會返回'Array'。 preg_match()對陣列不起作用嗎? –
該手冊聲明,它只返回1(找到),0(找不到)和FALSE(如果發生錯誤) – noreabu
對我來說,一個錯誤發生,但未知原因。我想是因爲它是一個數組,但我可能是錯的。我已經聯繫了開發人員,並會在收到答案時進行更新。 –