Hi @rossfabio,
Thank you for reaching out to us, I hope you’re doing well.
You are right, when Event Tickets is installed along with The Events Calendar and if there are different ticket prices it’ll display the price range.
What you can do is have a custom field on your own and then use the filter to put that value. The filter you’ll need to use is tribe_get_cost For example:
add_filter( 'tribe_get_cost', 'tec_my_custom_get_cost', 10, 3 );
function tec_my_custom_get_cost( $cost, $post_id, $with_currency_symbol ) {
$my_custom_cost = get_post_meta( $post_id, '_my_custom_cost', true );
return $my_custom_cost;
}
Please be sure that you use the right custom meta. Let me know how it goes.
Best,
Juan.
Thank you so much Juan, you are the man! Solved in 2 minutes thanks to you, worked great!
I made only one change by removing the _ :
add_filter( 'tribe_get_cost', 'tec_my_custom_get_cost', 10, 3 );
function tec_my_custom_get_cost( $cost, $post_id, $with_currency_symbol ) {
$my_custom_cost = get_post_meta( $post_id, 'my_custom_cost', true );
return $my_custom_cost;
}
and custom field “my_custom_cost”
thanks again!
-
This reply was modified 2 years, 8 months ago by rossfabio.
Sorry to bother again Juan, is there a way to do the same with the price description? This way i can just have both the cost and the cost description in the same area of the editor, so that my colleagues have it easier to fill in
Hi @rossfabio,
Thanks for the follow-up, I’m happy to be of help ⭐
Are you using the blocks editor to fill in the price description now? Or where is that you’re adding that? And where do you want to change it in the front-end? In the event page directly?
Best,
Juan.
Hi Juan, sorry for the late reply and you’re right i should have specified a bit more what i needed to do.
Currently yes, i was adding the price description through block editor, although i would prefer to switch to classic editor because the other people working on the backend are used to that.
i played around a bit by modifying this file like so: the-events-calendar/src/views/blocks/event-price.php
<?php if ( $post->my_custom_description ) : ?>
<span class="tribe-block__event-price__description"><?php echo esc_html( $post->my_custom_description );?></span>
<?php endif ?>
which works great if i first set a price description from blocks editor and then i fill in the custom field in the classic editor, but if i skip the first step then nothing shows up, is there a way to work around that? maybe i should remove the if condition?
again, thank you so much for the help!
Hi @rossfabio,
Thanks for the follow-up.
Right, you can also follow the same logic of retrieving the meta on that template that you modified if you want to use the value from the custom field.
Instead of having the check for $post->my_custom_description
, you can have this in that template:
<?php
$my_custom_description = get_post_meta( $post_id, 'my_custom_description', true );
if ( ! empty( $my_custom_description ) ) : ?>
<span class="tribe-block__event-price__description"><?php echo esc_html( $my_custom_description );?></span>
}
<?php endif; ?>
I’d highly encourage you not to modify the template directly on the plugin folder, but to move that to your theme overrides. Because if not, when the plugin is updated your plugin file (modified) will be overwritten. You can learn more about overrides here: https://theeventscalendar.com/knowledgebase/k/customizing-template-files-2/
If you’re happy with the product and the support received I’d encourage you to share your experience with the rest of the community.
Have a fantastic day,
Juan.
thanks again juan, unfortunately this time i couldn’t get your code to work, but it brought me to the right path.
modifying the template of the cost block wasn’t working for me (it only works if you create the event from the block editor, but that’s not my case), so i proceeded by modifying directly the single event template.
i found something in the wordpress get post meta reference page and stylized it a bit accordingly. I inserted it into wp-content/themes/[my-theme]/tribe-events/single-event.php as suggested and it works fine
i removed the if condition in the end, it wasn’t working for some reason and i anyways thought that if there is no text in the custom field to begin with, it’s not gonna show anything anyways.
<?php $meta_print_value=get_post_meta(get_the_ID(),'my_custom_description',true); ?>
<span class="tribe-block__event-price__description customcostdesc"><i><?php echo($meta_print_value); ?></i></span>
<style>.customcostdesc {order: 5;}</style>
Thanks again for all the help, you’ve been precious! I’ll leave a review right now 🙂
That’s fantastic news.
Thanks so much and have an awesome day,
Juan.