WordPress get_post_meta проверить, если установлено несколько значений - PullRequest
1 голос
/ 14 февраля 2011

У меня есть несколько настраиваемых полей в теме WP, и я хочу проверить, есть ли у них значения - но хотелось бы, чтобы ярлык проверял сразу несколько значений - что-то вроде этого:

if ( get_post_meta ( $post->ID, "first_value", "second_value", "third_value", $single = true) !="") :

    // do stuff here, as they are all set ##

else:

    // do something else, as they are not all set ##

endif;

это не выдает ошибку, а только проверяет, установлено ли первое значение - есть идеи?

1 Ответ

1 голос
/ 15 февраля 2011

Сначала обратите внимание на влияние установки переменной $ single на true:

Если $ single установлен в false или оставлен пусто, функция возвращает массив содержащий все значения указанного ключ. Если для $ single установлено значение true, функция возвращает первое значение указанный ключ в виде строки, поэтому вы можете использовать сравнение строк (не в массиве)

Решение 1. При этом можно использовать $ single = false, чтобы получить массив значений, а затем сравнить массив значений с массивом нулевых значений.

Решение 2. Или вы можете использовать несколько условий в операторе if_else:

if ( get_post_meta($post->ID,"first_value",true)!="" && get_post_meta($post->ID,"second_value",true)!="" && get_post_meta($post->ID,"third_value",true)!="") :

    // do stuff here, as they are all set ##

else:

    // do something else, as they are not all set ##

endif;

Решение 3. Вы также можете использовать вложенные операторы if_then, если предпочитаете их.

Вопрос в том, какое решение лучше всего подходит для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...