2015-08-14 2 views
0

Итак, у меня есть настраиваемое поле под названием «ингредиенты». Я хочу вывести эту настраиваемую информацию поля на свою пользовательскую вкладку.Эхо пользовательское поле внутри функции?

Это то, что у меня есть, но это не эхо.

function my_custom_tab(){ 

global $post; 

echo get_post_meta($post->ID, 'ingredients', true); 
} 

Любые идеи о том, почему его не отзываются ни о чем?

EDIT: Что бы я поставил в этой последней функции мне нужно повторить то вроде этого:

add_filter('woocommerce_product_tabs', 'woo_remove_product_tabs', 98); 

function woo_remove_product_tabs($tabs){ 

$tabs['my_custom_tab'] = array(
     'title' => "My Custom Tab", 
     'priority' => 15, 
     'callback' => 'my_custom_tab' 

    ); 

return $tabs; 
} 
function my_custom_tab(){ 

echo '<h2>This is a title</h2>'; 
global $post; 

return get_post_meta($post->ID, 'ingredients', true); 
} 

Если я ввожу, что эхо он выводит, что в настраиваемой вкладке. Нужно ли просто сказать «ингредиенты» эха, настраиваемое поле?

ответ

1

Используйте return, затем echo Функция.

function my_custom_tab(){ 

    global $post; 

    return get_post_meta($post->ID, 'ingredients', true); 
} 

echo my_custom_tab(); 

return, как вы можете догадаться, будет передать значение обратно, поэтому, когда вы echo функции должны отображать значение.

Также убедитесь, что get_post_meta действительно работает.

Некоторые фоне чтения:

http://php.net/manual/en/functions.returning-values.php

+0

Я просто добавил обновление, чтобы уточнить. –

0

Я понял это. Это было намного проще, чем я ожидал:

function my_custom_tab(){ 
echo get_post_meta(get_the_ID(), 'ingredients', true); 
} 
Смежные вопросы