当前位置: 首页>>代码示例>>PHP>>正文


PHP ICL_Pro_Translation::_content_make_links_sticky方法代码示例

本文整理汇总了PHP中ICL_Pro_Translation::_content_make_links_sticky方法的典型用法代码示例。如果您正苦于以下问题:PHP ICL_Pro_Translation::_content_make_links_sticky方法的具体用法?PHP ICL_Pro_Translation::_content_make_links_sticky怎么用?PHP ICL_Pro_Translation::_content_make_links_sticky使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ICL_Pro_Translation的用法示例。


在下文中一共展示了ICL_Pro_Translation::_content_make_links_sticky方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: icl_register_string

function icl_register_string($context, $name, $value, $allow_empty_value = false)
{
    global $wpdb, $sitepress, $sitepress_settings, $ICL_Pro_Translation;
    // if the default language is not set up return without doing anything
    if (!isset($sitepress_settings['existing_content_language_verified']) || !$sitepress_settings['existing_content_language_verified']) {
        return;
    }
    // Check if cached (so exists)
    $cached = icl_t_cache_lookup($context, $name);
    if ($cached && isset($cached['original']) && $cached['original'] == $value) {
        return;
    }
    $language = $sitepress->get_default_language();
    $res = $wpdb->get_row("SELECT id, value, status, language FROM {$wpdb->prefix}icl_strings WHERE context='" . $wpdb->escape($context) . "' AND name='" . $wpdb->escape($name) . "'");
    if ($res) {
        $string_id = $res->id;
        $update_string = array();
        if ($value != $res->value) {
            $update_string['value'] = $value;
        }
        if ($language != $res->language) {
            $update_string['language'] = $language;
        }
        if (!empty($update_string)) {
            $wpdb->update($wpdb->prefix . 'icl_strings', $update_string, array('id' => $string_id));
            $wpdb->update($wpdb->prefix . 'icl_string_translations', array('status' => ICL_STRING_TRANSLATION_NEEDS_UPDATE), array('string_id' => $string_id));
            icl_update_string_status($string_id);
        }
    } else {
        if (!empty($value) && is_scalar($value) && trim($value) || $allow_empty_value) {
            $string = array('language' => $language, 'context' => $context, 'name' => $name, 'value' => $value, 'status' => ICL_STRING_TRANSLATION_NOT_TRANSLATED);
            $wpdb->insert($wpdb->prefix . 'icl_strings', $string);
            $string_id = $wpdb->insert_id;
        } else {
            $string_id = 0;
        }
    }
    global $WPML_Sticky_Links;
    if (!empty($WPML_Sticky_Links) && $WPML_Sticky_Links->settings['sticky_links_strings']) {
        require_once ICL_PLUGIN_PATH . '/inc/translation-management/pro-translation.class.php';
        ICL_Pro_Translation::_content_make_links_sticky($string_id, 'string', false);
    }
    return $string_id;
}
开发者ID:GeraldScott,项目名称:OpenEvSys,代码行数:44,代码来源:generate.php

示例2: icl_register_string

function icl_register_string($context, $name, $value, $allow_empty_value = false)
{
    global $wpdb, $sitepress_settings;
    /* cpt slugs - do not register them when scanning themes and plugins
     * if name starting from 'URL slug: '
     * and context is different from 'WordPress'
     */
    if (substr($name, 0, 10) === 'URL slug: ' && 'WordPress' !== $context) {
        return false;
    }
    // if the default language is not set up return without doing anything
    if (!isset($sitepress_settings['existing_content_language_verified']) || !$sitepress_settings['existing_content_language_verified']) {
        return false;
    }
    // Check if cached (so exists)
    $cached = icl_t_cache_lookup($context, $name);
    if ($cached && isset($cached['original']) && $cached['original'] == $value) {
        return false;
    }
    $language = isset($sitepress_settings['st']['strings_language']) ? $sitepress_settings['st']['strings_language'] : 'en';
    $res = $wpdb->get_row("SELECT id, value, status, language FROM {$wpdb->prefix}icl_strings WHERE context='" . esc_sql($context) . "' AND name='" . esc_sql($name) . "'");
    if ($res) {
        $string_id = $res->id;
        $update_string = array();
        /*
         * If Sticky Links plugin is active and set to change links in Strings,
         * we need to process $value and change links into sticky before comparing
         * with saved in DB $res->value. 
         * Otherwise after every String Translation screen refresh status of this string
         * will be changed into 'needs update'
         */
        $alp_settings = get_option('alp_settings');
        if (!empty($alp_settings['sticky_links_strings']) && $alp_settings['sticky_links_strings'] && defined('WPML_STICKY_LINKS_VERSION')) {
            // sticky links plugin is active?
            require_once ICL_PLUGIN_PATH . '/inc/absolute-links/absolute-links.class.php';
            $absolute_links_object = new AbsoluteLinks();
            $alp_broken_links = array();
            $value = $absolute_links_object->_process_generic_text($value, $alp_broken_links);
        }
        if ($value != $res->value) {
            $update_string['value'] = $value;
        }
        if ($language != $res->language) {
            $update_string['language'] = $language;
        }
        if (!empty($update_string)) {
            $wpdb->update($wpdb->prefix . 'icl_strings', $update_string, array('id' => $string_id));
            $wpdb->update($wpdb->prefix . 'icl_string_translations', array('status' => ICL_STRING_TRANSLATION_NEEDS_UPDATE), array('string_id' => $string_id));
            icl_update_string_status($string_id);
        }
    } else {
        if (!empty($value) && is_scalar($value) && trim($value) || $allow_empty_value) {
            $string = array('language' => $language, 'context' => $context, 'name' => $name, 'value' => $value, 'status' => ICL_STRING_TRANSLATION_NOT_TRANSLATED);
            $wpdb->insert($wpdb->prefix . 'icl_strings', $string);
            $string_id = $wpdb->insert_id;
        } else {
            $string_id = 0;
        }
    }
    global $WPML_Sticky_Links;
    if (!empty($WPML_Sticky_Links) && $WPML_Sticky_Links->settings['sticky_links_strings']) {
        require_once ICL_PLUGIN_PATH . '/inc/translation-management/pro-translation.class.php';
        ICL_Pro_Translation::_content_make_links_sticky($string_id, 'string', false);
    }
    return $string_id;
}
开发者ID:pablomarsan,项目名称:iftheme-docs,代码行数:66,代码来源:functions.php


注:本文中的ICL_Pro_Translation::_content_make_links_sticky方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。