从类别中的自定义字段获取值


Get the value from a custom field in category

我在管理类别接口中创建了一个名为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'] );
    }
}

您应该能够通过这种方式获得它,顺便说一句,它不是一个自定义字段,而是一个选项。

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