2015-08-25 2 views
0

Im пытается поставить условное выражение в функцию. это исходный кодВнедрение условного в функцию

function do_meta_box($meta_field_def, $key = '') { 

$content  = ''; 
$esc_form_key = esc_attr(self::$form_prefix . $key); 
$post   = $this->get_metabox_post(); 
$meta_value = self::get_value($key, $post->ID); 

// other stuff 

$content .= '<input type="text"' . $placeholder . ' id="' . $esc_form_key . '" ' . $ac . 'name="' . $esc_form_key . '" value="' . esc_attr($meta_value) . '" class="large-text' . $class . '"/><br />'; 

// other sutff 
} 

Теперь я пытаюсь установить условие, в котором значение.

$my_custom_title = get_the_title() . ' My Custom Stuff'; 
if ( $post->post_type == 'post' ) { echo esc_attr($my_custom_title); } else { echo esc_attr($meta_value); }; 

Именно здесь: value="' . esc_attr($meta_value) . '"

Спасибо заранее.

+0

Определили ли вы глобальную переменную $ пост? – Kamal

+0

@mevius уже нашел ответ, и он работает. Спасибо, в любом случае. :) – Avel

+0

@Kamal, лучшей альтернативой глобализации '$ post' является использование объекта' $ post', который уже был возвращен ... (т. Е. '$ Post-> title'). – rnevius

ответ

0

Вы можете присвоить его переменной ...

$value = $post->post_type == 'post' ? esc_attr($post->title) : esc_attr($meta_value); 

$content .= '<input type="text"' . $placeholder . ' id="' . $esc_form_key . '" ' . $ac . 'name="' . $esc_form_key . '" value="' . $value . '" class="large-text' . $class . '"/><br />'; 
+0

Спасибо, друг. ;) – Avel

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