Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/plugins/wpml-string-translation/classes/Shortcode.php
Назад
<?php namespace WPML\ST; class Shortcode { const STRING_DOMAIN = 'wpml-shortcode'; private $context; private $name; /** * @var \wpdb */ private $wpdb; public function __construct( \wpdb $wpdb ) { $this->wpdb = $wpdb; } function init_hooks() { add_shortcode( 'wpml-string', [ $this, 'render' ] ); } /** * @param array $attributes * @param string $value * * @return string */ function render( $attributes, $value ) { $this->parse_attributes( $attributes, $value ); $this->maybe_register_string( $value ); return do_shortcode( icl_t( $this->context, $this->name, $value ) ); } /** * @param string $value */ private function maybe_register_string( $value ) { $string = $this->get_registered_string(); if ( ! $string || $string->value !== $value ) { icl_register_string( $this->context, $this->name, $value ); } } /** * @param array $attributes * @param string $value */ private function parse_attributes( $attributes, $value ) { $pairs = array( 'context' => self::STRING_DOMAIN, 'name' => 'wpml-shortcode-' . md5( $value ), ); $attributes = shortcode_atts( $pairs, $attributes ); $this->context = $attributes['context']; $this->name = $attributes['name']; } /** * @return \stdClass */ private function get_registered_string() { $strings = $this->get_strings_registered_in_context(); if ( $strings && array_key_exists( $this->name, $strings ) ) { return $strings[ $this->name ]; } return null; } /** * @return \stdClass[] */ private function get_strings_registered_in_context() { $cache_key = $this->context; $cache_group = 'wpml-string-shortcode'; $cache_found = false; $string = wp_cache_get( $cache_key, $cache_group, false, $cache_found ); if ( ! $cache_found ) { $query = 'SELECT name, id, value, status FROM ' . $this->wpdb->prefix . 'icl_strings WHERE context=%s'; $sql = $this->wpdb->prepare( $query, $this->context ); $string = $this->wpdb->get_results( $sql, OBJECT_K ); wp_cache_set( $cache_key, $string, $cache_group ); } return $string; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка