Here are some example WP All Import [IF] statements. The criteria for an IF statment is written in XPath 1.0 syntax and can use XPath functions. Although powerful, XPath syntax can be quite complex. In many cases it might be easier to use a PHP function as shown here.
Note: The [ELSE]<something>
part is optional
[IF({price[.=0]})]Zero[ELSE]Not Zero[ENDIF]
[IF({price[.>0]})]Greater than 0[ENDIF]
[IF({title[.='Foo']})]The title is Foo[ENDIF]
[IF({title[.!='Foo']})]The title is not Foo[ENDIF]
[IF({title[.='']})]The title is empty[ENDIF]
[IF({title[contains(.,’Foo')]})]Has foo[ENDIF]
[IF({title[string-length()>10]})]{title}[ENDIF]
[IF({title[.='']})]The title is empty[ELSE]{title}[ENDIF]
Note: You might have seen examples using not(text())
to check for empty fields. While this is valid XPath syntax, it seems to fail on some servers. The reasons are unclear. Just use the Text is empty syntax above instead.
Tip: You can often simplify your XPath statements by removing the
[1]
notations. That's only needed if there are multiple nodes with the same name (to indicate the one you want). By default the first one is grabbed so[1]
is unnecessary. These are functionally equivalent if there is only one title field:[IF({title[1][text() = 'Foo']})]The title is Foo[ENDIF]
[IF({title[text() = 'Foo']})]The title is Foo[ENDIF]