2014-09-11 11 views
0

Я создал собственное поле в интерфейсе категории администратора с именем custom order. Он отображается в админ. Но теперь у меня возникают трудности с , получая информацию с поля и эхо в index.php.Получите значение из настраиваемого поля в категории

Если я бегу

$thisCat = get_category(29); 
    print_r($thisCat); 

Я не получаю никакой информации от настраиваемого поля.

echo get_post_custom_values('category_custom_order', 29); не эхо ничего.

Как я могу получить значение от category_custom_order?

Вот мой код для настраиваемого поля в functions.php:

<?php 
/** Add Custom Field To Category Form */ 
add_action('category_add_form_fields', 'category_form_custom_field_add', 10); 
add_action('category_edit_form_fields', 'category_form_custom_field_edit', 10, 2); 

function category_form_custom_field_add($taxonomy) { 
?> 
<div class="form-field"> 
    <label for="category_custom_order">Custom Order</label> 
    <input name="category_custom_order" id="category_custom_order" type="text" value="" size="40" aria-required="true" /> 
    <p class="description">Enter a custom order value.</p> 
</div> 
<?php 
} 

function category_form_custom_field_edit($tag, $taxonomy) { 

    $option_name = 'category_custom_order_' . $tag->term_id; 
    $category_custom_order = get_option($option_name); 

?> 
<tr class="form-field"> 
    <th scope="row" valign="top"><label for="category_custom_order">Custom Order</label></th> 
    <td> 
    <input type="text" name="category_custom_order" id="category_custom_order" value="<?php echo esc_attr($category_custom_order) ? esc_attr($category_custom_order) : ''; ?>" size="40" aria-required="true" /> 
    <p class="description">Enter a custom order value.</p> 
    </td> 
</tr> 
<?php 
} 

/** Save Custom Field Of Category Form */ 
add_action('created_category', 'category_form_custom_field_save', 10, 2); 
add_action('edited_category', 'category_form_custom_field_save', 10, 2); 

function category_form_custom_field_save($term_id, $tt_id) { 

    if (isset($_POST['category_custom_order'])) {   
     $option_name = 'category_custom_order_' . $term_id; 
     update_option($option_name, $_POST['category_custom_order']); 
    } 
} 

ответ

1

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

$category_id = 29; 
$category_custom_order = get_option('category_custom_order_' . $category_id); 

echo $category_custom_order; 
+0

Спасибо! работал как шарм. –

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