Skip Navigation

[Résolu] Custom Shortcode for Term Meta data

Ce fil est résolu. Voici une description du problème et la solution proposée.

Problem:
Custom Shortcode for Term Meta data

Solution:
To fetch custom term field values (term meta) inside the post view, you need to add custom shortcode.

You can find the proposed solution, in this case, with the following reply:
https://toolset.com/forums/topic/custom-shortcode-for-term-meta-data/#post-1116401

Relevant Documentation:

This support ticket is created Il y a 5 années et 6 mois. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

No supporters are available to work today on Toolset forum. Feel free to create tickets and we will handle it as soon as we are online. Thank you for your understanding.

Sun Mon Tue Wed Thu Fri Sat
- 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Kolkata (GMT+05:30)

Marqué : ,

This topic contains 4 réponses, has 2 voix.

Last updated by Tom Gonzales Il y a 5 années et 6 mois.

Assisted by: Minesh.

Auteur
Publications
#1115223

Tell us what you are trying to do? I need to pull data from another custom post type (not created with Toolset) and extract a location address from a taxonomy and display it in a View using a custom shortcode.

Is there any documentation that you are following? I found an example in the support forum that I started from and came up with this:

// Term Meta Short Code for Location Address
function display_termmeta_location_address_func($atts)
{
$slug = get_term_meta( get_the_ID(), 'location_address',true);
return types_render_termmeta( $slug , array() );
}
add_shortcode( 'display_termmeta_location_address', 'display_termmeta_location_address_func' );

And the shortcode of...

[display_termmeta_location_address slug="location_address"]

Is there a similar example that we can see? Here's a link to the development page with the events data I'm pulling in so far.

hidden link

The plugins taxonomy field I'm trying to display can be found here:

hidden link

The taxonomy meta field I'm trying to display is "location_address"

And my content template looks like this:

<div style="margin-top: 20px;">
[wpv-post-title]<br>
Date: [start-new-day]-[end-new-day] [wpv-conditional if="( $(evcal_repeat) eq 'Yes' )"]Recurrence: [wpv-post-field name='evcal_rep_freq'][/wpv-conditional]<br>
[wpv-post-body view_template="None" suppress_filters="true"] [wpv-post-taxonomy type="event_type_4" format="name"], [wpv-post-taxonomy type="event_type_3" format="name"] [start-new-time]-[end-new-time], [wpv-post-field name='evcal_location_name'], [display_termmeta_location_address slug="location_address"], [wpv-post-field name="evcal_cmd_1"] [wpv-post-field name="evcal_lmlink"]
</div>

I'm already using several custom shortcodes in this template - [start-new-day], [end-new-day], [start-new-time], [end-new-time] - which are pulled from a custom post field. But I can't seem to figure out how to pull the address from the "location_address" taxonomy term metadata and display it after the location name in the event listing.

Any help would be appreciated.

#1115582

Minesh
Supporter

Languages: Anglais (English )

Timezone: Asia/Kolkata (GMT+05:30)

Hello. Thank you for contacting the Toolset support.

Well - first of all, I need some informtaion to understand your problem clearly and I need to know your current setup.

=> What kind of view you are using (Post view or Taxonomy view)?
=> The custom term field is not created with types plugin - correct?
=> Is it possible for you to send me access so I can look at it and fix it for you.

I have set the next reply to private which means only you and I have access to it.

#1116401

Minesh
Supporter

Languages: Anglais (English )

Timezone: Asia/Kolkata (GMT+05:30)

Well - within your view's loop output, I've added following shortcode:

Location Address: [show_term_meta]

You can find the code added here:
=> hidden link

function func_get_term_meta_data($atts) {
 global $post;
  
 $term_ids = wp_get_object_terms( $post->ID, 'event_location', array( "fields" => "ids" ) );
if(is_array($term_ids)) {
 // $locations = get_term_meta($term_ids[0]);
 $locations=evo_get_term_meta('event_location', $term_ids[0]);
  return $locations['location_address'];
}
  
}
add_shortcode( 'show_term_meta', 'func_get_term_meta_data' );

I can see its displaying location address now. Could you please confirm.

#1116681

Perfect! Plus I learned where to place my custom coding too! I've been placing it in my child theme's funtions.php file.

Thanks for the assistance, Minesh.

Cheers!

#1116682

My issue is resolved now. Thank you!

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.