$major_rule) { if (! $major_rule) { continue; } $conditions['rules'][] = ['major' => sanitize_text_field($major_rule), 'minor' => isset($post_conditions['rules_minor'][ $index ]) ? sanitize_text_field($post_conditions['rules_minor'][ $index ]) : '', 'has_children' => isset($post_conditions['page_children'][ $index ]) ? true : false]; } if (! empty($conditions['rules'])) { $instance['conditions'] = $conditions; } else { unset($instance['conditions']); } if ( ( isset($instance['conditions']) && ! isset($old_instance['conditions']) ) || ( isset($instance['conditions'], $old_instance['conditions']) && serialize($instance['conditions']) != serialize($old_instance['conditions']) ) ) { /** * Fires after the widget visibility conditions are saved. * * @module widget-visibility * * @since 2.4.0 */ do_action('widget_conditions_save'); } elseif (! isset($instance['conditions']) && isset($old_instance['conditions'])) { /** * Fires after the widget visibility conditions are deleted. * * @module widget-visibility * * @since 2.4.0 */ do_action('widget_conditions_delete'); } return $instance; } /** * Add the widget conditions to each widget in the admin. * * @param $widget unused. * @param $return unused. * @param array $instance The widget settings. */ public static function widget_conditions_admin($widget, $return, array $instance = []) { $conditions = []; if (isset($instance['conditions'])) { $conditions = $instance['conditions']; } if (! isset($conditions['action'])) { $conditions['action'] = 'show'; } if (empty($conditions['rules'])) { $conditions['rules'][] = ['major' => '', 'minor' => '', 'has_children' => '']; } $widget_conditional = ''; if (empty($_POST['widget-conditions-visible']) || '0' == $_POST['widget-conditions-visible']) { $widget_conditional = 'widget-conditional-hide'; } $widget_conditions_visible_value = 0; if (isset($_POST['widget-conditions-visible'])) { $widget_conditions_visible_value = (int) $_POST['widget-conditions-visible']; } ?>
' ); ?>
'', 'minor' => '', 'has_children' => '']); ?>
|
1000, 'orderby' => 'count', 'order' => 'DESC']); usort($categories, [self::class, 'strcasecmp_name']); foreach ($categories as $category) { ?> 'name', 'exclude_admin' => true]) as $author) { ?> roles as $role_key => $role) { ?> 1000, 'orderby' => 'count', 'order' => 'DESC']); usort($tags, [self::class, 'strcasecmp_name']); foreach ($tags as $tag) { ?> true, '_builtin' => true], 'objects'); foreach ($post_types as $post_type) { ?> ]*?>/i', '', wp_dropdown_pages(['echo' => false]))); ?> false]), 'objects' ); usort($taxonomies, [self::class, 'strcasecmp_name']); $parts = explode('_tax_', $minor); if (2 === count($parts)) { $minor_id = self::maybe_get_split_term($parts[1], $parts[0]); $minor = $parts[0] . '_tax_' . $minor_id; } foreach ($taxonomies as $taxonomy) { ?> name], ['number' => 250, 'hide_empty' => false]); foreach ($terms as $term) { ?> true, '_builtin' => false], 'objects'); foreach ($post_types as $post_type) { ?> true, '_builtin' => false], 'objects'); foreach ($post_types as $post_type) { ?> (int) $minor]); if ($page_children) { ?>