summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/widget-visibility/widget-conditions.php')
-rw-r--r--plugins/jetpack/modules/widget-visibility/widget-conditions.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/jetpack/modules/widget-visibility/widget-conditions.php b/plugins/jetpack/modules/widget-visibility/widget-conditions.php
index 0878f56d..c6241dea 100644
--- a/plugins/jetpack/modules/widget-visibility/widget-conditions.php
+++ b/plugins/jetpack/modules/widget-visibility/widget-conditions.php
@@ -252,6 +252,7 @@ class Jetpack_Widget_Conditions {
<?php
foreach ( $conditions['rules'] as $rule ) {
+ $rule = wp_parse_args( $rule, array( 'major' => '', 'minor' => '', 'has_children' => '' ) );
?>
<div class="condition">
<div class="selection alignleft">
@@ -311,6 +312,10 @@ class Jetpack_Widget_Conditions {
* @return array Modified settings.
*/
public static function widget_update( $instance, $new_instance, $old_instance ) {
+ if ( empty( $_POST['conditions'] ) ) {
+ return $instance;
+ }
+
$conditions = array();
$conditions['action'] = $_POST['conditions']['action'];
$conditions['rules'] = array();
@@ -513,7 +518,8 @@ class Jetpack_Widget_Conditions {
$condition_result = $wp_query->is_posts_page;
} else {
// $rule['minor'] is a page ID
- $condition_result = is_page( $rule['minor'] );
+ $condition_result = is_page() && ( $rule['minor'] == get_the_ID() );
+
// Check if $rule['minor'] is parent of page ID
if ( ! $condition_result && isset( $rule['has_children'] ) && $rule['has_children'] )
$condition_result = wp_get_post_parent_id( get_the_ID() ) == $rule['minor'];