2015-04-16 6 views
0

Я использую Wordpress с Genesis Framework, и у меня возникают проблемы с получением значений настраиваемых полей, если они «0». Значения поступают из формы, а значения 0 действительно находятся в метатеге post в моей базе данных. Если я поменяю их на что-нибудь еще, они отлично отображаются на шаблоне single-posttype.php. Однако, если они установлены в 0, то ничего не отображается. Я включил пример кода, который я использую, и да, я знаю свои грязные короткие коды, но все в порядке. Я знаю свое место. Помогите?PHP не отображает строку значений «0»?

$customField = genesis_get_custom_field('customField'); 

    add_action('hookLocation','myDirtyShortcodes'); 
    function myDirtyShortcodes(){ 

     echo do_shortcode('[some dirtyshortcodehere'.$customField.' more dirty shortcode]'); 
    } 
+1

Является ли '$ customField' глобальным? – Machavity

+0

Нет. Он объявляется только в этом файле шаблона. –

ответ

0

Итак, как @Machevity упоминалось попробовать этот способ:

add_action('hookLocation','myDirtyShortcodes'); 
    function myDirtyShortcodes(){ 
     $customField = genesis_get_custom_field('customField'); 
     echo do_shortcode('[some dirtyshortcodehere'.$customField.' more dirty shortcode]'); 
    } 
+0

Просто попробовал, не кубик: - / –

0

Fixed. функция genesis_get_custom_field использовала плохой метод проверки переменной для нулевого значения.

Внутри genesis_get_custom_field,

if (! $custom_field) 
return ''; 

Был заменен

if($custom_field === '') 
    return ''; 

В исходной функции "0" возвращается ложь. Но это быстрое изменение (спасибо/u/gu3st12 на Reddit).

Смежные вопросы