Skip to content
Advertisement

Custom field for background color for every category in WordPress

I need a Custom field for background color for every category in WordPress, anyone have any idea?

Thanks in Advance 🙂

Advertisement

Answer

Put below code in functions.php file of your theme for admin side.

<?php
add_action('category_add_form_fields', 'add_background_color_field');
add_action('category_edit_form_fields', 'edit_background_color_field');
add_action('edit_term', 'save_background_color_field');
add_action('create_term', 'save_background_color_field');

function add_background_color_field() {

    echo '<div class="form-field">
        <label for="category_background_color">Background Color</label>
        <input type="text" name="category_background_color" id="category_background_color" value="" />
        <p class="description">Category Background Color.</p>
        </div>';
}

function save_background_color_field($term_id) {
    if(isset($_POST['category_background_color']))
        update_option('cat_background_color'.$term_id, $_POST['category_background_color']);
}

function edit_background_color_field($category) {
    $background_color = get_option('cat_background_color'.$category->term_id);
    echo '<tr class="form-field">
        <th scope="row" valign="top"><label for="category_background_color">Background Color</label></th>
        <td>
            <input type="text" name="category_background_color" id="category_background_color" value="'.$background_color.'" />
            <p class="description">Category Background Color.</p>
        </td>
        </tr>';
}
?>

Use below code for front end.

<?php 
        $cat_id = get_query_var('cat');
        $background_color = get_option('cat_background_color'.$cat_id);
?>

Use $background_color variable value wherever you want to use category background color in your archive.php or category.php file.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement