Conversation
supportHi all, I’m pretty new to PHP. I want the Modal to show on page with ID 371 when a variable has a specific value. Say on page ID 371 I have set: $modal = 'A'; Then in the settings of the Modal I set at the PHP Condition line: if($modal == 'A'); Changing the variable on that page to, say, ‘B’, that doesn’t make any difference. The modal keeps showing up. I have checked the ‘Only show on specific pages and single posts’ and specified the page ID 371 on ‘Pages and posts to display Modal Dialog ‘. Any clues anyone? https://wordpress.org/plugins/modal-dialog/
You should not put if and semi-colon, only what is between parentheses. $modal == ‘A’ That being said, you are going to get in a scope issue. Where are you trying to set that PHp variable? It will not be available from an a shortcode callback function. If you want a shortcode to optionally display on a page, a better bet would be to put a GET variable in the URL. For example: http://mysite.com?p=371&showdialog=1 Then your condition could be: is_page(371) && isset( $_GET[‘showdialog’] ) && $_GET[‘showdialog’])
You should not put if and semi-colon, only what is between parentheses. $modal == ‘A’ That being said, you are going to get in a scope issue. Where are you trying to set that PHp variable? It will not be available from an a shortcode callback function. If you want a shortcode to optionally display on a page, a better bet would be to put a GET variable in the URL. For example: http://mysite.com?p=371&showdialog=1 Then your condition could be: is_page(371) && isset( $_GET[‘showdialog’] ) && $_GET[‘showdialog’])