Tuesday, 28 May 2013

Customizing Ajax Rating System

Customizing Ajax Rating System

The code below is a rating function that came with a recent Wordpress Theme I purchased. Basically, you click one of five stars to give a post a rating.
I was wondering if anyone would have advice on how to move away from the star rating system, and in to a Slider based system like this: http://ninjaui.com/#slider
<?php

global $aitThemeOptions;

if(isset($aitThemeOptions->rating->enableRating)){
    add_action('init', 'aitRatingCustomInit');
    add_action('admin_head', 'aitRemoveAddRatingButton');
    add_filter('manage_ait-rating_posts_columns', 'aitRatingChangeColumns');
    add_action('manage_posts_custom_column', 'aitRatingCustomColumns', 10, 2);
    add_filter('pre_get_posts','aitRatingTableEdit');
    add_filter('views_edit-ait-rating','aitRatingShowCorrectTableNumbers');

    add_action('wp_ajax_nopriv_ait_rate_item', 'aitRateItem');
    add_action('wp_ajax_ait_rate_item', 'aitRateItem');
}

function aitRatingCustomInit() {
    $args = array(
        'public' => true,
        'labels' => array(
            'name'          => 'Ratings',
            'singular_name' => 'Rating',
            'add_new'       => 'Add new',
            'add_new_item'  => 'Add new rating',
            'edit_item'     => 'Edit rating',
            'new_item'      => 'New rating',
            'not_found'     => 'No ratings found',
            'not_found_in_trash' => 'No ratings found in Trash',
            'menu_name'     => 'Ratings',
        ),
        'menu_position' => 50,
        'menu_icon' => THEME_IMG_URL . '/rating_star_admin.png',
        'capability_type' => 'ait-rating',
        'map_meta_cap' => true
    );
    register_post_type( 'ait-rating', $args );

    // add capability
    $capability_type = 'ait-rating';
    $capabilitiesAdmin = array(
        "edit_{$capability_type}" => true,
        "read_{$capability_type}" => true,
        "delete_{$capability_type}" => true,
        "edit_{$capability_type}s" => true,
        "edit_others_{$capability_type}s" => true,
        "publish_{$capability_type}s" => true,
        "read_private_{$capability_type}s" => true,
        "delete_{$capability_type}s" => true,
        "delete_private_{$capability_type}s" => true,
        "delete_published_{$capability_type}s" => true,
        "delete_others_{$capability_type}s" => true,
        "edit_private_{$capability_type}s" => true,
        "edit_published_{$capability_type}s" => true,
        "assign_dir_category" => true,
        "assign_dir_location" => true
    );

    // set admin capability
    $adminRole = get_role( 'administrator' );
    foreach ($capabilitiesAdmin as $key => $value) {
        $adminRole->add_cap( $key );
    }

    $capabilitiesDirRating = array(
        "edit_{$capability_type}s" => true,
        "read_private_{$capability_type}s" => false,
        "edit_published_{$capability_type}s" => true,
        "delete_{$capability_type}s" => true,
        "delete_published_{$capability_type}s" => true,
        "publish_{$capability_type}s" => true
    );

    $dirRole1 = get_role( 'directory_1' );
    if(isset($dirRole1)){
        foreach ($capabilitiesDirRating as $key => $value) {
            $dirRole1->add_cap( $key );
        }
    }

    $dirRole2 = get_rol

No comments:

Post a Comment