function test_wl_configuration_enable_color_coding() { wl_configuration_set_enable_color_coding(false); $this->assertFalse(wl_configuration_get_enable_color_coding()); wl_configuration_set_enable_color_coding(true); $this->assertTrue(wl_configuration_get_enable_color_coding()); }
/** * Configure all the configuration parameters. The configuration parameters are grouped in two tabs: * * General * * Advanced (only available if the WL_ENABLE_ADVANCED_CONFIGURATION constant exists and is set to True) * * Called by the *admin_init* hook. * * @since 3.0.0 */ function wl_configuration_settings() { register_setting('wl_general_settings', 'wl_general_settings', 'wl_configuration_sanitize_settings'); add_settings_section('wl_general_settings_section', 'General Settings', 'wl_configuration_general_settings_section_callback', 'wl_general_settings'); add_settings_field(WL_CONFIG_WORDLIFT_KEY, __('WordLift Key', 'wordlift'), 'wl_configuration_input_box', 'wl_general_settings', 'wl_general_settings_section', array('id' => 'wl-key', 'name' => 'wl_general_settings[key]', 'value' => wl_configuration_get_key(), 'description' => __('Insert the WordLift Key', 'wordlift'))); add_settings_field(WL_CONFIG_ENABLE_COLOR_CODING_ON_FRONTEND_NAME, __('Enable color coding on front-end', 'wordlift'), 'wl_configuration_checkbox', 'wl_general_settings', 'wl_general_settings_section', array('id' => 'wl-enable-color-coding', 'name' => 'wl_general_settings[enable_color_coding]', 'value' => wl_configuration_get_enable_color_coding(), 'description' => __('Enable color coding', 'wordlift'))); add_settings_field(WL_CONFIG_SITE_LANGUAGE_NAME, __('Site Language', 'wordlift'), 'wl_configuration_select', 'wl_general_settings', 'wl_general_settings_section', array('id' => 'wl-site-language', 'name' => 'wl_general_settings[site_language]', 'value' => wl_configuration_get_site_language(), 'description' => __('The site language', 'wordlift'), 'options' => wl_configuration_get_languages())); if (defined('WL_ENABLE_ADVANCED_CONFIGURATION') && WL_ENABLE_ADVANCED_CONFIGURATION) { register_setting('wl_advanced_settings', 'wl_advanced_settings', 'wl_configuration_sanitize_settings'); add_settings_section('wl_advanced_settings_section', 'Advanced', 'wl_configuration_advanced_settings_section_callback', 'wl_advanced_settings'); add_settings_field(WL_CONFIG_API_URL, __('API URL', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-api-url', 'name' => 'wl_advanced_settings[api_url]', 'value' => wl_configuration_get_api_url(), 'description' => __('The API URL', 'wordlift'))); add_settings_field(WL_CONFIG_APPLICATION_KEY_NAME, __('Redlink Key', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-key', 'name' => 'wl_advanced_settings[redlink_key]', 'value' => wl_configuration_get_redlink_key(), 'description' => __('The Redlink key', 'wordlift'))); add_settings_field(WL_CONFIG_USER_ID_NAME, __('Redlink User Id', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-user-id', 'name' => 'wl_advanced_settings[redlink_user_id]', 'value' => wl_configuration_get_redlink_user_id(), 'description' => __('The Redlink User Id', 'wordlift'))); add_settings_field(WL_CONFIG_DATASET_NAME, __('Redlink Dataset name', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-dataset-name', 'name' => 'wl_advanced_settings[redlink_dataset_name]', 'value' => wl_configuration_get_redlink_dataset_name(), 'description' => __('The Redlink Dataset Name', 'wordlift'))); add_settings_field(WL_CONFIG_DATASET_BASE_URI_NAME, __('Redlink Dataset URI', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-dataset-uri', 'name' => 'wl_advanced_settings[redlink_dataset_uri]', 'value' => wl_configuration_get_redlink_dataset_uri(), 'description' => __('The Redlink Dataset URI', 'wordlift'))); add_settings_field(WL_CONFIG_ANALYSIS_NAME, __('Redlink Application Name', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-application-name', 'name' => 'wl_advanced_settings[redlink_application_name]', 'value' => wl_configuration_get_redlink_application_name(), 'description' => __('The Redlink Application Name', 'wordlift'))); } }
/** * Embed the entity properties as microdata in the content. * * @param string $content A content. * @param string $uri An entity URI. * @param string $itemprop Specifies which property this entity is for another entity. Useful for recursive markup. * * @return string The content with embedded microdata. */ function wl_content_embed_item_microdata($content, $uri, $itemprop = null, $recursion_level = 0) { if ($recursion_level > wl_config_get_recursion_depth()) { wl_write_log("recursion depth limit exceeded [ level :: {$recursion_level} ][ max :: " . wl_config_get_recursion_depth() . " ]"); return ''; } $post = wl_get_entity_post_by_uri($uri); // Entity not found or not published. Delete <span> tags but leave their content on page. if (null === $post || $post->post_status !== 'publish') { wl_write_log("wl_content_embed_item_microdata : entity not found or not published [ uri :: {$uri} ]"); // Replace the original tagging with the new tagging. $regex = wl_content_embed_build_regex_from_uri($uri); $content = preg_replace($regex, '$2', $content); return $content; } // Get the entity URI and its escaped version for the regex. $entity_uri = wl_get_entity_uri($post->ID); // Get the main type. $main_type = wl_entity_type_taxonomy_get_type($post->ID); if (null === $main_type) { $item_type = ''; } else { $item_type = ' itemtype="' . esc_attr($main_type['uri']) . '"'; // Append the stylesheet if the enable color coding flag is set to true. if (wl_configuration_get_enable_color_coding() && is_null($itemprop)) { $item_type .= ' class="' . esc_attr($main_type['css_class']) . '"'; } } // Define attribute itemprop if this entity is nested. if (!is_null($itemprop)) { $itemprop = ' itemprop="' . $itemprop . '"'; } // Get additional properties (this may imply a recursion of this method on a sub-entity). $additional_properties = wl_content_embed_compile_microdata_template($post->ID, $main_type, $recursion_level); $same_as = ''; // Get the array of sameAs uris. $same_as_uris = wl_schema_get_value($post->ID, 'sameAs'); // Prepare the sameAs fragment. foreach ($same_as_uris as $same_as_uri) { $same_as .= "<link itemprop=\"sameAs\" href=\"{$same_as_uri}\">"; } // Get the entity URL. $permalink = get_permalink($post->ID); $url = '<link itemprop="url" href="' . $permalink . '" />'; // Replace the original tagging with the new tagging. $regex = wl_content_embed_build_regex_from_uri($uri); $content = preg_replace($regex, '<$1' . $itemprop . ' itemscope' . $item_type . ' itemid="' . esc_attr($entity_uri) . '">' . $same_as . $additional_properties . $url . '<a class="wl-entity-page-link" href="' . $permalink . '" itemprop="name" content="$2">' . (is_null($itemprop) ? '$2' : '') . '</a></$1>', $content); wl_write_log("wl_content_embed_item_microdata [ uri :: {$uri} ][ regex :: {$regex} ]"); return $content; }