2015-01-30 1 views
1

Я создал функцию и зацепил, чтобы вставить некоторые пользовательские поля информации на некоторые из моих сообщений.Wordpress - Как я могу скрыть вывод the_meta, если он пуст?

<?php the_meta(); ?> 

Я добавил несколько CSS-форматирование (поле с фоном) для отображения. Проблема: если у меня есть сообщение без каких-либо настраиваемых полей, он отображает пустое поле. Как я могу предотвратить его вывод пустого, если нечего отображать? Все, что я могу найти, это информация о конкретных типах полей и не может экстраполировать его. Я определенно не php босс.

ответ

0

Вы можете использовать get_post_custom(), чтобы получить настраиваемые поля в виде массива, а затем делать свой вывод только в том случае, если в массиве есть какие-либо настраиваемые поля.

Это должно сделать работу, хотя это не очень элегантно:

$has_custom = false; 
foreach(get_post_custom_keys() as $k => $v) { 
    $t = trim($v); 
    if('_' != $t{0}) { 
     $has_custom = true; 
     break; 
    } 
} 
if($has_custom) { 
    the_meta(); 
} 
+0

Хорошо. Я могу посмотреть get_posts_custom() вверх. Как я могу сказать, что он выводится только в том случае, если определенные пользовательские поля определены? Или вы говорите, что будет отображаться только при вводе значений? –

+0

Отправленный код, который должен это сделать. Там может быть более чистый способ, но это должно сделать трюк. –

+1

SQUEEEEE !!!! Отлично! Огромное спасибо! Вы получаете виртуальный теплый шоколадный печенье! Я много часов занимаюсь исследованиями и не могу понять. СПАСИБО! –