/** * Settings page. * * Add an settings tab to the Listings -> settings page. * * @since 1.0.0 * * @param array $settings Array of default settings. * @return array $settings Array including the new settings. */ public function settings_tab($settings) { $default_categories = ''; if (is_array(wpjmr()->wpjmr_get_review_categories())) { $default_categories = implode(PHP_EOL, wpjmr()->wpjmr_get_review_categories()); } $settings['wpjmr_settings'] = array(__('Reviews', 'wp-job-manager-reviews'), array(array('name' => 'wpjmr_star_count', 'std' => '5', 'placeholder' => '', 'label' => __('Stars', 'wp-job-manager-reviews'), 'desc' => __('How many stars would you like to use?', 'wp-job-manager-reviews'), 'attributes' => array()), array('name' => 'wpjmr_categories', 'std' => $default_categories, 'placeholder' => '', 'label' => __('Review categories', 'wp-job-manager-reviews'), 'desc' => __('Categories you would you like to use, each category on one line.', 'wp-job-manager-reviews'), 'attributes' => array(), 'type' => 'textarea'), array('name' => 'wpjmr_listing_authors_can_moderate', 'std' => '0', 'placeholder' => '', 'label' => __('Listing owners can moderate reviews', 'wp-job-manager-reviews'), 'cb_label' => __('Listing owners can moderate reviews', 'wp-job-manager-reviews'), 'desc' => __('Let listing owners moderate the reviews on their listings.', 'wp-job-manager-reviews'), 'attributes' => array(), 'type' => 'checkbox'), array('name' => 'wpjmr_restrict_review', 'std' => '0', 'placeholder' => '', 'label' => __('Restrict reviews to buyers', 'wp-job-manager-reviews'), 'cb_label' => __('Restrict reviews', 'wp-job-manager-reviews'), 'desc' => __('Restrict giving a review to users that are validated buyers of associated products.', 'wp-job-manager-reviews'), 'attributes' => array(), 'type' => 'checkbox'))); return $settings; }
/** * Review Dashboard. * * Shortcode to display the review moderate in the dashboard. * * @since 1.0.1 */ public function shortcode_review_dashboard() { // Bail if listing owner moderate is not active if (0 == get_option('wpjmr_listing_authors_can_moderate', '0')) { return; } $reviews = get_comments(apply_filters('wpjmr_moderate_reviews_comment_args', array('post_author' => get_current_user_id(), 'status' => 'all', 'include_unapproved' => true, 'number' => 10, 'offset' => get_query_var('paged') > 1 ? get_query_var('paged') * 10 - 10 : 0))); $comment_query = new WP_Comment_Query(); $comment_count = $comment_query->query(array('count' => true, 'post_author' => get_current_user_id(), 'status' => 'all', 'include_unapproved' => true)); get_job_manager_template('job-review-moderate.php', array('reviews' => $reviews, 'max_num_pages' => $comment_count / 10, 'number' => 2), '', plugin_dir_path(wpjmr()->file) . 'templates/'); }