In a recent commit, Rinat modifies the following code:

// If the ad code doesn't have any conditionals
// we should add it to the display list
if ( empty( $ad_code['conditionals'] ) ) {
	if ( $this->logical_operator == 'AND' ) {
		$display_codes[] = $ad_code;
	}
	continue;
}

to:

// If the ad code doesn't have any conditionals
// we should add it to the display list
if ( empty( $ad_code['conditionals'] ) ) {
	$display_codes[] = $ad_code;
	continue;
}

This means that each ad code will display on the site as soon as it’s added in the admin if it doesn’t have any conditionals applied. I think that this is probably a bad thing and that users will think it a bug as soon as we push the code that works “correctly”.

Instead, we might do one or more things:

1) Have an “ALL” logical operator which means that ad code are loaded regardless of conditionals. Something like:

if ( empty( $ad_code['conditionals'] ) && $this->logical_operator == 'ALL' )

2) Have ‘published’ vs. ‘draft’ states for ad codes that will allow some amount of pre-publication control.

Thoughts? Feel free to weigh in before I create a ticket on this.