Skip Navigation

[Resuelto] Comparison of two text strings in conditional not working

This support ticket is created hace 9 meses. 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.

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

Supporter timezone: America/Jamaica (GMT-05:00)

This topic contains 10 respuestas, has 2 mensajes.

Last updated by Simon hace 9 meses.

Assigned support staff: Shane.

Autor
Mensajes
#2354599

I am trying to: compare two single line fields in a conditional, and show an item of content (some asterisks) if they match.

My conditional looks like this:

[wpv-conditional if="( $(wpcf-workidentifier) eq '[types field='recordreference'][/types]' )" debug="true"]***[/wpv-conditional]

Here's the debug information

####################
Debug information
####################
--------------------
Original expression: ( $(wpcf-workidentifier) = '9781785788352' )
--------------------
After matching 1 numeric strings into real numbers: ( $(wpcf-workidentifier) = 9781785788352 )
Matched '9781785788352' to 9781785788352
--------------------
Converted expression: ( '
9781785788352
' = 9781785788352 )
--------------------

It looks to me like the result is never true because the first part of the converted express is being wrapped in single quotes which are not present in the data.

Both the fields are single line fields. I tried changing them to number fields but it didn't help.

Am I formatting my conditional wrong?

Thanks

#2354643

Shane
Supporter

Languages: Inglés (English )

Timezone: America/Jamaica (GMT-05:00)

Hi Simon,

Thank you for getting in touch.

Can you try doing it by using the straight shortcodes for both values. Please try this below and let me know the results.

[wpv-conditional if="( '[types field='workidentifier'][/types]' eq '[types field='recordreference'][/types]' )" debug="true"]***[/wpv-conditional]

Thanks,
Shane

#2355093

Hi Shane,

I tried that. It didn't help.

[wpv-conditional if="( '[types field='workidentifier'][/types]' eq '[types field='recordreference'][/types]' )" debug="true"]<p>PRIMARY EDITION</p>[/wpv-conditional]

Produces this debug output:

####################
wpv-conditional attributes
####################
Array
(
[if] => ( '
9781785788697
' = '9781785788697' )
[debug] => true
)

####################
Debug information
####################
--------------------
Original expression: ( '
9781785788697
' = '9781785788697' )
--------------------
After replacing 1 general variables and comparing strings: ( '
9781785788697
' = 9781785788697 )
Comparing
9781785788697
to 9781785788697

It still seems to be treating the two different fields differently, even though they're both single line fields with no extraneous formatting.

#2355429

Shane
Supporter

Languages: Inglés (English )

Timezone: America/Jamaica (GMT-05:00)

Hi Simon,

Would you mind allowing me to have admin access to the website so that I can have a more detailed look at this for you ?

Please where applicable please provide me with a link to an example page where I can see the issue.

I've enabled the private fields for your next response.

Thanks,
Shane

#2356129

The page containing the conditional in question is hidden link

I've installed the plugin allowing you to log in without needing an account - log in link is

hidden link

The affected View is hidden link

#2356365

Shane
Supporter

Languages: Inglés (English )

Timezone: America/Jamaica (GMT-05:00)

Hi Simon,

For some reason the field [types field='workidentifier'][/types] is rendering with extra spaces before and after the value. Do you have any custom code on the site that is specifically set to target this field ?

If so can you let me know where exactly it is ?

Thanks,
Shane

#2356405

I'm not aware of anything - have checked the PHP snippet plugins and the theme functions file and can't see anything!

#2356417

Shane
Supporter

Languages: Inglés (English )

Timezone: America/Jamaica (GMT-05:00)

Hi Simon,

Would you mind if I temporarily disable your non-toolset plugins as a test to see what happens ?

Thanks,
Shane

#2356429

Sure, if it's speedy 🙂

#2356591

Shane
Supporter

Languages: Inglés (English )

Timezone: America/Jamaica (GMT-05:00)

Hi Simon,

I managed to find the issue.

It turns out the issue is with the saving or the initial saving of the posts. I did a test by resaving these 2 posts below.
hidden link
hidden link

And now both conditionals are working fine on the listing page.

Its quite tedious but you may need to go through and resave all your posts so the field value can get reset.

Thanks,
Shane

#2356613

You're right - the WP All Import Pro plugin is adding those stupid carriage returns! We can deal with that.

Thanks for looking at this