I think I’m pretty close to cracking this nut 🙂
I’m trying to add a set of custom fields to the Category editor. Since I’m not dealing with post meta, I believe I’ll be writing my custom category field values to the wp_term_taxonomy table rather than the wp_options table. Is this correct?
If there are any examples of how to do this, please share a link or bit of code. I’m not sure how to capture and save my custom category fields.
Here’s my code…
//add the hook to place the form on the category editor screen
add_action('edit_category_form','ce4_category_admin');
//Adds the custom title box to the category editor
function ce4_category_admin($category){
echo "category: ".$category->term_id; //great, I got a reference to the term_id, now I need to get/set my custom fields with this key
?>
<table class="form-table">
<tr class="form-field">
<th scope="row" valign="top"><label for="_ce4-categoryTitle">Full Category Title</label></th>
<td><input name="_ce4-categoryTitle" id="_ce4-categoryTitle" type="text" size="40" aria-required="false" value="<?php echo get_taxonomy($category->term_id, '_ce4-categoryTitle'); ?>" />
<p class="description">The title is optional but will be used in place of the name on the home page category index.</p></td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label for="_ce4_fullDescription">Full Category Text for Landing Page</label></th>
<td><textarea style="height:70px; width:100%;margin-left:-5px;" name="_ce4_fullDescription" id="_ce4_fullDescription"><?php echo get_taxonomy($category->term_id, '_ce4_fullDescription'); ?></textarea>
<p class="description">This text will appear on the category landing page when viewing all articles in a category. The image, you supply above, if any, will be used here and this content will wrap around it.</p></td>
</tr>
</table>
<?php
}
//How to save the custom field data? Normally I'd use..
//add_action('save_post', 'custom_save_function');
//but this is not a post, so perhaps there's another method?
No. You have to use
wp_options
, because you can’t create new fields in the wp_term_taxonomy table (If you do, in the next WP update you’ll loose them).So:
There might be some category-related hooks for the last two, I didn’t search for them. I just adapted the code above from a old theme of mine in which the admin can attach a image to a custom taxonomy term…