Forum Replies Created

Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter Ben

    (@jahwork10)

    It turned out to be a simple addition to the function above;

    I replaced

    $clauses['orderby'] = "pmeta.meta_value";

    with

    $clauses['orderby'] = "pmeta.meta_value, distance";

    If you need to control the sort order you can do something like this:

    $clauses['orderby'] = "pmeta.meta_value DESC, distance ASC";

    This works for my project, however it would be helpful to understand how to filter using additional meta-keys or categories/taxonomies as an alternative.

    Thread Starter Ben

    (@jahwork10)

    I have tried another approach;

    The custom post type listed in my results include a custom meta-key (using the wp-types plugin) which is a dropdown select box. The dropdown has two options: Featured or Licensed. I found this code in another thread which allows me to filter results by this custom field:

    function order_gmw_results($clauses, $gmwQuery) {
    	global $wpdb;
    
    	$clauses['join'] .= " LEFT JOIN {$wpdb->prefix}postmeta AS pmeta ON({$wpdb->prefix}posts.ID = pmeta.post_id AND pmeta.meta_key = 'wpcf-featured-or-licensed')";
    	$clauses['orderby'] = "pmeta.meta_value";
    	return $clauses;
    }
    add_filter('gmw_pt_location_query_clauses', 'order_gmw_results',10,2);

    This works great, but is is possible to orderby multiple meta-keys so that the results are first sorted by my featured-or-licensed key, then by distance? As it works now the posts are jumbled by distance and appear to be sorted by publish date.

    Any help to orderby multiple meta-keys would be very much appreciated!

    Thread Starter Ben

    (@jahwork10)

    Adding a little more detail to this question…

    I guess what I’m trying to do is something similar to Google’s sponsored listings. So, when a user searches for a Teacher close to their postcode/city they are presented with the closest results, however with ‘sponsored’/’featured’ results first. Ideally, being able to not only style these ‘featured’ results differently but also using different layout from the template so I can add more detail.

    I have looked at the function for filtering results using a dropdown but I need this to run prior to the results being listed and showing all categories (that I have pre-selected).

    Thread Starter Ben

    (@jahwork10)

    To explain further on what I’m trying to do ………

    I’m creating a Teacher’s Directory where every Teacher has their own post/page within State/Region categories, and parent categories of Country.

    On those Country category pages I would like search forms where you can select a State/Region (from a dropdown list) and then Courses Available (from checkboxes). The Courses Available are custom fields and I would like the search function to find results that match ANY of the courses selected – not ALL. In other words, if a user selects Course 1 and Course 2, I would like search results displayed to include Teachers who only teach Course 1 and only teach Course 2.

    If anyone has any suggestions on how I could go about this better than with the plugins above, it would be most welcome. 🙂

    Hey guys. Just thought I’d mention that I’ve switched from Flutter to Magic Fields too and have found the white-label-cms plugin to work in beautifully with it. Basically it lets you hide all the other less-used admin navigation links, so you can strip it right down to only Magic Fields showing – great for client’s websites.

Viewing 5 replies - 1 through 5 (of 5 total)