Support » Plugin: Query Wrangler » Can’t figure out how to show taxonomy in fields.

  • Resolved macmike78

    (@macmike78)


    This plugin is great! Exactly what I needed.

    Is there any way I can query & show my custom post type’s taxonomy(ies) & its link using fields? Can’t seem to find it.

    Thank you!

Viewing 13 replies - 1 through 13 (of 13 total)
  • I think I’m getting closer. Will this require a callback to be set up? I’ve been playing with get_term_link but still can’t get it to display. Am I on the right track?

    Got it! What an awesome plugin!! 5 stars for you my friend!!!

    ccoppen

    (@ccoppen)

    What was your final solution? I need to grab the taxonomy and group by a specific taxonomy.

    macmike78

    (@macmike78)

    Hey @ccoppen,

    What do you mean exactly? Here’s what I was trying to do specifically -> Link. I wanted to display the category & link after the “with: ” for each of the posts displayed on the page.

    Can you clarify what you’re trying to do?

    Thanks!

    • This reply was modified 12 months ago by  macmike78.
    • This reply was modified 12 months ago by  macmike78.
    ccoppen

    (@ccoppen)

    I would like to display a particular taxonomy as a field and group by that taxonomy. In Drupal, using views, this is a no-brainer. Seeing as how this is supposed to be similar to Drupal Views, I’m wondering how to do the same thing. What you’ve done appears to be similar to what I want to do, excepting the grouping.

    macmike78

    (@macmike78)

    Sorry @ccoppen,

    I’m trying to wrap my head around this stuff again for you but it’s giving me a headache. Perhaps my screenshot can assist you?

    Have you tried playing with the filters (filter groups in particular)?

    ccoppen

    (@ccoppen)

    yeah, that’s pretty much what I have. It appears I may not be able to do what I want to do, unless the developer chimes in. It also appears you wrote a custom function for your callback.

    Thanks.

    Plugin Author Jonathan Daggerhart

    (@daggerhart)

    Hi ccoppen,

    I’ll see if I can help. Could you explain a little more about your goal?

    You want to group by a specific taxonomy:

    – Is this a custom taxonomy, or one of the ones that comes with core?
    – Does this taxonomy allow for more than one term to be selected for a post? If so, do you want to limit the grouping to a single term?

    Any other details you can provide would be helpful.

    Thanks,
    Jonathan

    ccoppen

    (@ccoppen)

    It’s a custom taxonomy called Locations.

    Basically, I have a custom post type of team members (employees). Each is at a different location.

    I have an exposed filter for my custom taxonomy of locations, which works fine, but I would like to group my listing of team members by their location.

    I’m including my export of the query here:

    $query = array (
      'name' => 'qw_employees',
      'slug' => 'qw_employees',
      'type' => 'widget',
      'path' => NULL,
      'data' => 
      array (
        'display' => 
        array (
          'title' => '',
          'style' => 'unformatted',
          'row_style' => 'fields',
          'post_settings' => 
          array (
            'size' => 'complete',
          ),
          'field_settings' => 
          array (
            'group_by_field' => '__none__',
            'fields' => 
            array (
              'meta_image' => 
              array (
                'type' => 'meta_image',
                'hook_key' => 'meta_image',
                'name' => 'meta_image',
                'weight' => '0',
                'meta_value_count' => '1',
                'meta_value_separator' => '',
                'display_handler' => 'acf_default',
                'are_image_ids' => 'on',
                'image_display_style' => 'thumbnail',
                'label' => '',
                'custom_output' => '',
                'classes' => 'left',
                'empty_field_content' => '',
              ),
              'post_title' => 
              array (
                'type' => 'post_title',
                'hook_key' => 'post_title',
                'name' => 'post_title',
                'weight' => '1',
                'label' => '',
                'rewrite_output' => 'on',
                'custom_output' => '<h2>{{post_title}}',
                'classes' => '',
                'empty_field_content' => '',
              ),
              'meta_position' => 
              array (
                'type' => 'meta_position',
                'hook_key' => 'meta_position',
                'name' => 'meta_position',
                'weight' => '2',
                'meta_value_count' => '1',
                'meta_value_separator' => '',
                'display_handler' => 'acf_default',
                'image_display_style' => 'thumbnail',
                'label' => '',
                'rewrite_output' => 'on',
                'custom_output' => '<h3>{{meta_position}}</h3>',
                'classes' => '',
                'empty_field_content' => '',
              ),
              'post_content' => 
              array (
                'type' => 'post_content',
                'hook_key' => 'post_content',
                'name' => 'post_content',
                'weight' => '3',
                'label' => '',
                'custom_output' => '',
                'classes' => '',
                'empty_field_content' => '',
              ),
            ),
          ),
          'template_part_settings' => 
          array (
            'path' => '',
            'name' => '',
          ),
          'header' => '',
          'footer' => '',
          'empty' => '',
          'wrapper-classes' => '',
          'page' => 
          array (
            'pager' => 
            array (
              'type' => 'default',
              'previous' => '',
              'next' => '',
            ),
          ),
        ),
        'args' => 
        array (
          'posts_per_page' => '-1',
          'post_status' => 'publish',
          'offset' => 0,
          'sorts' => 
          array (
            'date' => 
            array (
              'type' => 'date',
              'hook_key' => 'post_date',
              'name' => 'date',
              'weight' => '0',
              'order_value' => 'DESC',
            ),
          ),
          'filters' => 
          array (
            'post_types' => 
            array (
              'type' => 'post_types',
              'hook_key' => 'post_types',
              'name' => 'post_types',
              'weight' => '0',
              'post_types' => 
              array (
                'employee' => 'employee',
              ),
              'exposed_label' => '',
              'exposed_desc' => '',
              'exposed_key' => '',
              'exposed_settings' => 
              array (
                'type' => 'select',
              ),
            ),
            'taxonomy_location' => 
            array (
              'type' => 'taxonomy_location',
              'hook_key' => 'taxonomy_location',
              'name' => 'taxonomy_location',
              'weight' => '1',
              'operator' => 'IN',
              'is_exposed' => 'on',
              'exposed_label' => 'Location',
              'exposed_desc' => '',
              'exposed_key' => '',
              'exposed_settings' => 
              array (
                'type' => 'checkboxes',
              ),
            ),
          ),
        ),
      ),
    );
    

    The following link is where I’m displaying it.
    http://www.hprc.net.php56-9.dfw3-2.websitetestlink.com/employees/

    On another note, I’d like to replace that search box with one that’d search the team members only through the query, say an exposed filter for the post title, but I don’t see the post title in the filter options.

    I apologize if I’m actually posting feature requests here. I’ve done so much stuff with Drupal Views, that using this in WordPress is like a dream, but it seems it’s missing stuff. If this needs to be in it’s own thread, then we can move it there. This is a great plugin, btw.

    Plugin Author Jonathan Daggerhart

    (@daggerhart)

    Understood.

    If you don’t want to write a custom callback, I think the function we’d want to use is the_terms – https://codex.wordpress.org/Function_Reference/the_terms . The problem is the_terms function requires the post ID to be provided as the first parameter, and that isn’t currently possible.I’ll need to adjust the callback field to be able to accept contextual parameters. Shouldn’t be too hard, but it might take me a few days to get to it.

    If you can add php, it would be trivial to write a custom callback that does this. Something like:

    function my_custom_the_terms_callback(){
      the_terms( get_the_ID(), 'location', '', '', '' );
    }
    

    For the custom search, if you add an exposed “Search” filter to your QW query it should have the same limits as the rest of the query (I assume you have a post type filter). Not sure this is exactly the result you’d like, but it might get you a lot closer.

    Hope this helps, I’ll see about updating the plugin by end of week.

    Thanks,
    Jonathan

    ccoppen

    (@ccoppen)

    Hey Jonathan,

    Thanks for your reply. I have no problem with having to write a custom callback. I was just hoping it would be easier through the plugin itself.

    I’ll see what I can accomplish on my end over the next day.

    Plugin Author Jonathan Daggerhart

    (@daggerhart)

    I’ve updated the github repo to allow contextual tokens in callback fields, but I don’t think it will work perfectly for what you need. The problem now is that the_terms outputs the taxonomy terms as links, and I suspect that is not ideal for your needs, but you’ll have to let me know. Chances are you’ll want to write a custom callback anyways. In the future I’ll look at adding some better taxonomy field solutions, as the current use of callbacks is rarely ideal.

    Here is the github repo if you want to take a look– https://github.com/daggerhart/query-wrangler

    I hope to release an update within the next few days.

    Thanks,
    Jonathan

    Plugin Author Jonathan Daggerhart

    (@daggerhart)

    ccoppen,

    The new 1.5.41 version has a very simple taxonomy term field that should meet basic needs. Also allows for contextual tokens within callback field parameters (in case you decide to go with a callback).

    Hope this helps,
    Jonathan

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘Can’t figure out how to show taxonomy in fields.’ is closed to new replies.