Hello! I am trying to make a button appear to add more items if the user has NOT gone over their allocated number of X (where X is a custom post type) but if they have hit that amount, a message will appear telling them why the button is gone.
I have a VIEW that outputs the number of X this user has created (and it works great):
[wpv-view name="myexpactivecount" user="[wpv-user field='ID']"]
Each user has a custom USER field where I can enter a number of the total amount of X I want this user to be able to create, this shortcode outputs that number perfectly:
[types usermeta='usertotalexperiences' output='raw' current_user='true']
So I can output something like this:
<small>You are using [wpv-view name="myexpactivecount" user="[wpv-user field='ID']"] out of [types usermeta='usertotalexperiences' output='raw' current_user='true'] of your available Experiences</small><br>
And it looks great!
However, when I use those variables in two conditional logic statement, it does not work 🙁
Below is the conditional logic I have (that does not work), can you tell me why it does not work and help me fix it?
[wpv-conditional if="( '[wpv-view name='myexpactivecount' user='[wpv-user field='ID']' lt '[types usermeta='usertotalexperiences' output='raw' current_user='true']' )"]BUTTON APPEARS HERE[/wpv-conditional]
[wpv-conditional if="( '[wpv-view name='myexpactivecount' user='[wpv-user field='ID']' eq '[types usermeta='usertotalexperiences' output='raw' current_user='true']' )"]MESSAGE ANOUT WHY NO BUTTON APPEARS[/wpv-conditional]
Hi,
Thank you for contacting us and I'd be happy to assist.
The 3 levels of nesting of shortcodes in the conditional setup that you're using, make it difficult to be recognized by the system.
You can register a custom shortcode, that can process the shortcode for the view ( i.e. [wpv-view name="myexpactivecount" user="[wpv-user field='ID']"] ) and return the output, as a single-level shortcode.
For example:
add_shortcode('myexpactivecount', 'myexpactivecount_fn');
function myexpactivecount_fn() {
// get current user ID
$user_id = do_shortcode("[wpv-user field='ID']");
// generate output from the view's shortcode
$content = do_shortcode("[wpv-view name='myexpactivecount' user='".$user_id."']");
return $content;
}
The above code snippet can be included through either Toolset's custom code feature ( ref: https://toolset.com/documentation/adding-custom-code/using-toolset-to-add-custom-code/ ) or through the active theme's "functions.php" file.
Also, add "myexpactivecount" in the "Third-party shortcode arguments" section, at WP Admin -> Toolset -> Settings -> Front-end Content.
After that, you can use this new custom shortcode in the conditional statements like this:
[wpv-conditional if="( '[myexpactivecount]' lt '[types usermeta='usertotalexperiences' output='raw' current_user='true']' )"]
BUTTON APPEARS HERE
[/wpv-conditional]
[wpv-conditional if="( '[myexpactivecount]' eq '[types usermeta='usertotalexperiences' output='raw' current_user='true']' )"]
MESSAGE ABOUT WHY NO BUTTON APPEARS
[/wpv-conditional]
I hope this helps and please let me know if you need further assistance.
regards,
Waqar
OMG! Thank you so much for the detailed reply, it worked great! Toolset support is AMAZING (and has been for years)!
My issue is resolved now. Thank you!