+ /**
+ * Filters response of WP_Customize_Panel::active().
+ *
+ * @since 4.1.0
+ *
+ * @param bool $active Whether the Customizer panel is active.
+ * @param WP_Customize_Panel $panel WP_Customize_Panel instance.
+ */
+ $active = apply_filters( 'customize_panel_active', $active, $panel );
+
+ return $active;
+ }
+
+ /**
+ * Default callback used when invoking WP_Customize_Panel::active().
+ *
+ * Subclasses can override this with their specific logic, or they may
+ * provide an 'active_callback' argument to the constructor.
+ *
+ * @since 4.1.0
+ * @access public
+ *
+ * @return bool Always true.
+ */
+ public function active_callback() {
+ return true;
+ }
+
+ /**
+ * Gather the parameters passed to client JavaScript via JSON.
+ *
+ * @since 4.1.0
+ *
+ * @return array The array to be exported to the client as JSON.
+ */
+ public function json() {
+ $array = wp_array_slice_assoc( (array) $this, array( 'id', 'description', 'priority', 'type' ) );
+ $array['title'] = html_entity_decode( $this->title, ENT_QUOTES, get_bloginfo( 'charset' ) );
+ $array['content'] = $this->get_content();
+ $array['active'] = $this->active();
+ $array['instanceNumber'] = $this->instance_number;
+ return $array;