in WC 2.5,
in WC 2.4
*/
public static function wc_help_tip($tip, $has_html = false)
{
if (self::is_wc_version_gte_2_5()) {
return wc_help_tip($tip, $has_html);
} else {
$tip = $has_html ? wc_sanitize_tooltip($tip) : esc_attr($tip);
return sprintf(
'
',
$tip,
esc_url(WC()->plugin_url()) . '/assets/images/help.png'
);
}
}
/**
* Helper method to get the version of the currently installed WooCommerce
*
* @return string woocommerce version number or null
* @since 3.0.0
*/
protected static function get_wc_version()
{
return defined('WC_VERSION') && WC_VERSION ? WC_VERSION : null;
}
/**
* Determines if the installed version of WooCommerce is 2.2.0 or greater.
*
* @return bool
* @since 4.2.0
*/
public static function is_wc_version_gte_2_2()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '2.2', '>=');
}
/**
* Determines if the installed version of WooCommerce is less than 2.2.0
*
* @return bool
* @since 4.2.0
*/
public static function is_wc_version_lt_2_2()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '2.2', '<');
}
/**
* Determines if the installed version of WooCommerce is 2.5.0 or greater.
*
* @return bool
* @since 4.2.0
*/
public static function is_wc_version_gte_2_5()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '2.5', '>=');
}
/**
* Determines if the installed version of WooCommerce is less than 2.5.0
*
* @return bool
* @since 4.2.0
*/
public static function is_wc_version_lt_2_5()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '2.5', '<');
}
/**
* Determines if the installed version of WooCommerce is 2.6.0 or greater.
*
* @return bool
* @since 4.4.0
*/
public static function is_wc_version_gte_2_6()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '2.6', '>=');
}
/**
* Determines if the installed version of WooCommerce is less than 2.6.0
*
* @return bool
* @since 4.4.0
*/
public static function is_wc_version_lt_2_6()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '2.6', '<');
}
/**
* Determines if the installed version of WooCommerce is 3.0.0 or greater.
*
* @return bool
* @since 4.6.0-dev
*/
public static function is_wc_version_gte_3_0()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '3.0', '>=');
}
/**
* Determines if the installed version of WooCommerce is less than 3.0.0
*
* @return bool
* @since 4.6.0-dev
*/
public static function is_wc_version_lt_3_0()
{
return self::get_wc_version() && version_compare(self::get_wc_version(), '3.0', '<');
}
/**
* Returns true if the installed version of WooCommerce is greater than $version
*
* @param string $version the version to compare
*
* @return bool true if the installed version of WooCommerce is > $version
* @since 2.0.0
*/
public static function is_wc_version_gt($version)
{
return self::get_wc_version() && version_compare(self::get_wc_version(), $version, '>');
}
/** WordPress core ******************************************************/
/**
* Normalizes a WooCommerce page screen ID.
* Needed because WordPress uses a menu title (which is translatable), not slug, to generate screen ID.
* See details in: https://core.trac.wordpress.org/ticket/21454
* TODO: Add WP version check when https://core.trac.wordpress.org/ticket/18857 is addressed {BR 2016-12-12}
*
* @param string $slug The slug for the screen ID to normalize (minus `woocommerce_page_`).
*
* @return string Normalized screen ID.
* @since 4.6.0-dev
*/
public static function normalize_wc_screen_id($slug = 'wc-settings')
{
// The text-domain usage is intentional here, we need to match the menu title.
$prefix = sanitize_title(__('WooCommerce', 'woocommerce'));
return $prefix . '_page_' . $slug;
}
}