Function Reference: geodir_bestof_callback

Summary

Get the best of widget content using ajax.

Return Values

(string)
  • Html content.

Change Log

Since: 1.3.9

1.5.1 Added filter to view all link.

Filters

‘geodir_bestof_widget_view_all_link’ [Line: 665]

Source File

geodir_bestof_callback() is located in geodirectory-widgets/geodirectory_bestof_widget.php [Line: 630]

Source Code

function geodir_bestof_callback()
{
    check_ajax_referer('geodir-bestof-nonce', 'geodir_bestof_nonce');
    //set variables
    $post_type = strip_tags(esc_sql($_POST['post_type']));
    $post_limit = strip_tags(esc_sql($_POST['post_limit']));
    $character_count = strip_tags(esc_sql($_POST['char_count']));
    $taxonomy = strip_tags(esc_sql($_POST['taxonomy']));
    $add_location_filter = strip_tags(esc_sql($_POST['add_location_filter']));
    $term_id = strip_tags(esc_sql($_POST['term_id']));
    $excerpt_type = strip_tags(esc_sql($_POST['excerpt_type']));

    $query_args = array(
        'posts_per_page' => $post_limit,
        'is_geodir_loop' => true,
        'post_type' => $post_type,
        'gd_location' => $add_location_filter ? true : false,
        'order_by' => 'high_review'
    );

    if ($character_count >= 0) {
        $query_args['excerpt_length'] = $character_count;
    }

    $tax_query = array(
        'taxonomy' => $taxonomy,
        'field' => 'id',
        'terms' => $term_id
    );

    $query_args['tax_query'] = array($tax_query);
    if ($term_id && $taxonomy) {
        $term = get_term_by('id', $term_id, $taxonomy);
        $view_all_link = add_query_arg(array('sort_by' => 'rating_count_desc'), get_term_link($term));
        /** This filter is documented in geodirectory-widgets/geodirectory_bestof_widget.php */
        $view_all_link = apply_filters('geodir_bestof_widget_view_all_link', $view_all_link, $post_type, $term);

        echo '

' . wp_sprintf(__('Best of %s', 'geodirectory'), $term->name) . '' . __("View all", 'geodirectory') . '

'; } if ($excerpt_type == 'show-reviews') { add_filter('get_the_excerpt', 'best_of_show_review_in_excerpt'); } geodir_bestof_places_by_term($query_args); if ($excerpt_type == 'show-reviews') { remove_filter('get_the_excerpt', 'best_of_show_review_in_excerpt'); } gd_die(); }