/** * Get an instance of the page extension but don't initialize it. * * Useful for using some methods during AJAX call. * * @return WPCF_GUI_Term_Field_Editing * @since 2.1 */ public static function get_instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
public static function initialize() { if (null == self::$instance) { self::$instance = new self(); } }
/** * Initialize parts of GUI depending on current screen. * * @since 1.9 */ function wpcf_initialize_admin_gui() { $screen = get_current_screen(); // Should be always true. if ($screen instanceof WP_Screen) { if (in_array($screen->base, array('edit-tags', 'term'))) { WPCF_GUI_Term_Field_Editing::initialize(); } } }
/** * When updating screen options with hidden listing columns, we may need to store additional data. * * See WPCF_GUI_Term_Field_Editing::maybe_disable_column_autohiding() for details. * * @param mixed $meta_id Ignored. * @param mixed $object_id Ignored. * @param string $meta_key Meta key. * @param mixed $_meta_value Meta value. We expect it to be an array. * @since 2.1 */ public function capture_columnshidden_update($meta_id, $object_id, $meta_key, $_meta_value) { // We're looking for a meta_key that looks like "manage{$page_name}columnshidden". $txt_columnshidden = 'columnshidden'; $is_columnshidden_option = 0 == strcmp($txt_columnshidden, substr($meta_key, strlen($txt_columnshidden) * -1)); if ($is_columnshidden_option) { // Extract the page name from the meta_key $strip_begin = strlen('manage'); $strip_end = strlen($txt_columnshidden); $page_name = substr($meta_key, $strip_begin, strlen($meta_key) - ($strip_begin + $strip_end)); // Determine if we're editing a taxonomy $txt_edit = 'edit-'; $txt_edit_len = strlen($txt_edit); $is_tax_edit_page = 0 == strcmp($txt_edit, substr($page_name, 0, $txt_edit_len)); // This is not 100% certain but attempting to handle a taxonomy that doesn't exist does no harm. if ($is_tax_edit_page) { // Now we know that we need to perform the extra action. $taxonomy_name = substr($page_name, $txt_edit_len); $edit_term_page_extension = WPCF_GUI_Term_Field_Editing::get_instance(); $edit_term_page_extension->maybe_disable_column_autohiding($taxonomy_name, $_meta_value, $page_name); } } }