0

i've added a custom taxonomy to categorized post in colors other than their main category and i want to let users to categorized posts in frontend and i have no idea how to do that... is there anyway create a form to do this?

    function color() {

    $labels = array(
        'name'                       => 'Colors',
        'singular_name'              => 'Color',
        'menu_name'                  => 'Color',
        'all_items'                  => 'All Items',
        'parent_item'                => 'Parent Item',
        'parent_item_colon'          => 'Parent Item:',
        'new_item_name'              => 'New Item Name',
        'add_new_item'               => 'Add New Item',
        'edit_item'                  => 'Edit Item',
        'update_item'                => 'Update Item',
        'view_item'                  => 'View Item',
        'separate_items_with_commas' => 'Separate items with commas',
        'add_or_remove_items'        => 'Add or remove items',
        'choose_from_most_used'      => 'Choose from the most used',
        'popular_items'              => 'Popular Items',
        'search_items'               => 'Search Items',
        'not_found'                  => 'Not Found',
        'no_terms'                   => 'No items',
        'items_list'                 => 'Items list',
        'items_list_navigation'      => 'Items list navigation',
    );
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => true,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    );
    register_taxonomy( 'color', array( 'post' ), $args );

}
add_action( 'init', 'color', 0 );

1 Answer 1

0

here is how to do it:

    <form action="#" method="post">
        <input type="checkbox" name="checklist[]" value="1"><label>Blue</label>
        <input type="checkbox" name="checklist[]" value="2"><label>Red</label>
...
        <input type="submit" name="submit" value="submit"/>
    </form>
    <?php
        if(isset($_POST['submit'])){
            if(!empty($_POST['checklist'])){
                $selectArr = array();
                foreach($_POST['checklist'] as $selected){
                    $selectedInt = (int)$selected;
                    $selectArr[] = $selectedInt;
                    wp_set_object_terms( $thePostId, $selectArr, 'color');
                }
            }
        }
    ?>

where the values in input tags are taxonomies IDs (color IDs)

and I used my theme functions to define current Post ID ($thePostId)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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