Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I want to display custom static content, essentially an image and a small description, at the top of each category page (different for each category and sub category), displayed above a list of titles of the category posts with excerpts.

Is there an automated solution/plugin available for this? I need an automated way to insert text/image too because I want to pass this to my content writer and he will take care of the new categories. A rich text editor where I can insert image and text, which will be assigned to a category and can be shown on top of the category page.

share|improve this question
    
Any progress on that question? –  kaiser Feb 18 at 16:43
add comment

4 Answers

Simply call the category_description() - this displays the description that you can enter for each category that you add in the admin UI under "category" (or post tag or each other custom taxonomy).

You can as well use the underlying API function:

term_description( $category, 'category' );
share|improve this answer
add comment

Here's raw code for the DIY people.

/** Add New Field To Category **/
function extra_category_fields( $tag ) {
    $t_id = $tag->term_id;
    $cat_meta = get_option( "category_$t_id" );
?>
<tr class="form-field">
    <th scope="row" valign="top"><label for="meta-content"><?php _e('Landing Page Content'); ?></label></th>
    <td>
        <div id="catContent">
            <style type="text/css">.form-field input {width: auto!important;}</style>
            <?php wp_editor($cat_meta['content'], 'cat_landing', array(
                    'textarea_name' =>  'cat_meta[content]',
                    'textarea_rows' =>  15,
            )); ?>
        </div>
        <span class="description"><?php _e('Landing Page Content, Edit This Like You Would A Page.'); ?></span>
    </td> 
</tr>
<?php
}
add_action('category_edit_form_fields','extra_category_fields');  

/** Save Category Meta **/
function save_extra_category_fileds( $term_id ) {
    global $wpdb;
    if ( isset( $_POST['cat_meta'] ) ) {
        $t_id = $term_id;
        $cat_meta = get_option( "category_$t_id");
        $cat_keys = array_keys($_POST['cat_meta']);
            foreach ($cat_keys as $key){
            if (isset($_POST['cat_meta'][$key])){
                $cat_meta[$key] = $_POST['cat_meta'][$key];
            }
        }
        update_option( "category_$t_id", $cat_meta );
    }
}
add_action ( 'edited_category', 'save_extra_category_fileds');

With these you can actually do more, such as adding an ordering field or whatever your heart desires.

In the action call you can change:

add_action('category_edit_form_fields','extra_category_fields'); to your specific

taxonomy by changing category to your taxonomy name as so:

add_action('YOUR-TAX-HERE_edit_form_fields','extra_category_fields');
add_action ( 'edited_YOUR-TAX-HERE', 'save_extra_category_fileds');

Finally to get your meta content you can use this:

$category_id = get_cat_ID();
if($category_id != 0){
    $cat_meta = get_option( "category_$category_id");
    echo apply_filters('the_content', $cat_meta['content']);
}
share|improve this answer
add comment

You can use the following plugin: http://wordpress.org/extend/plugins/categorytinymce/screenshots/

Then, in your template files just insert the the_description() template tag.

share|improve this answer
    
Thanks, I found other plugin which does the same thing. Dont know why I did not find before putting question here. Though stackexchange rocks. Thanks. Here is the plugin I am using. wordpress.org/extend/plugins/rich-text-tags –  SachinKRaj Nov 30 '12 at 9:32
add comment

I would use a plugin like ACF to create fields for the image and description of a category since a non technical person will be using it. Then you can query the taxonomy's fields using the information found here. You can even use the_description() and just one custom field for uploading the image.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.