Похоже, что это должно сработать, я не вижу ничего явно неправильного в вашем запросе.
Единственное, что может происходить, так это: эти пользовательские поля скрыты?Вы смотрели в своей таблице post_meta в своей базе данных, чтобы проверить правильный ключ для запроса для wpcf-secret-id-1
и wpcf-secret-id-2
?Если они скрыты от серверной части, к ним может быть добавлено нижнее подчеркивание, например: _wpcf-secret-id-1
.
Кроме того, использование WP_Query в этом случае некорректно.Вы переопределяете весь цикл Wordpress с помощью $query->the_post();
и возвращаетесь из функции перед сбросом с помощью wp_reset_postdata .
Лучший способ сделать это будет:
$query = new WP_Query($args);
if ($query->found_posts > 0) {
$post = $query->posts[0];
return get_post_meta($post->ID, 'wpcf-secret-id-2', true);
}
else
{
return ""; //Good habit: if you are returning some value, make sure you always return *something*, even when there is no value to return.
}