Simple Tags 1.6.6 и автоматические ссылки меток на русском языке
Время идёт, проблемы остаются…
Полгода назад я рассказывал о том, что Simple Tags не умеет работать с многобайтовыми символами (коими, к слову, являются русские буквы в кодировке UTF-8). За это время вышло восемь или девять новых версий плагина, но проблема с поддержкой UTF-8 всё же осталась.
Так сложилось, что именно сегодня я решил обновить плагин. Патчить код было лень, я надеялся, что у Lecactus’а лежит пропатченная свежая версия. Увы, только 1.6.3.
Для тех, кто больше любит патчи (unified diff):
--- simple-tags/simple-tags.php 2009-04-22 10:22:28.000000000 -0400
+++ simple-tags.new/simple-tags.php 2009-06-01 21:50:20.000000000 -0400
@@ -3,7 +3,7 @@
Plugin Name: Simple Tags
Plugin URI: http://wordpress.org/extend/plugins/simple-tags
Description: Simple Tags : Extended Tagging for WordPress 2.3, 2.5, 2.6 and 2.7 ! Autocompletion, Suggested Tags, Tag Cloud Widgets, Related Posts, Mass edit tags !
-Version: 1.6.6
+Version: 1.6.6.1
Author: Amaury BALMER
Author URI: http://www.herewithme.fr
@@ -22,6 +22,7 @@
Contributors:
- Kevin Drouvin (kevin.drouvin@gmail.com - http://inside-dev.net)
- Martin Modler (modler@webformatik.com - http://www.webformatik.com)
+- Vladimir Kolesnikov (vladimir at extrememember dot com - http://blog.sjinks.pro)
Todo:
Admin
@@ -30,25 +31,6 @@
- Verifier la case du remplacement par les liens
*/
-// Check version.
-global $wp_version;
-if ( strpos($wp_version, '2.7') !== false || strpos($wp_version, '2.8') !== false ) {
require(dirname(__FILE__).'/2.7/simple-tags.client.php');
-} elseif ( strpos($wp_version, '2.5') !== false || strpos($wp_version, '2.6') !== false ) {
- require(dirname(__FILE__).'/2.5/simple-tags.client.php');
-} elseif ( strpos($wp_version, '2.3') !== false ) {
- require(dirname(__FILE__).'/2.3/simple-tags.client.php');
-} elseif ( strpos($wp_version, '2.2') !== false || strpos($wp_version, '2.1') !== false || strpos($wp_version, '2.0') !== false ) {
- add_action('admin_notices', 'simple_tagging_warning');
-} else {
- add_action('admin_notices', 'simple_tags_warning');
-}
-function simple_tagging_warning() {
- echo '<div class="updated fade"><p><strong>'.__('Simple Tags can\'t work with this WordPress version !', 'simpletags').'</strong> '.sprintf(__('You must use <a href="%1$s">Simple Tagging Plugin</a> for it to work.', 'simpletags')
, 'http://wordpress.org/extend/plugins/simple-tagging-plugin/').'</p></div>';
-}
-
-function simple_tags_warning() {
- echo '<div class="updated fade"><p><strong>'.__('Simple Tags can\'t work with this WordPress version !', 'simpletags').'</strong></p></div>';
-}
?>
\ No newline at end of file
--- simple-tags/2.7/simple-tags.client.php 2009-04-22 10:22:28.000000000 -0400
+++ simple-tags.new/2.7/simple-tags.client.php 2009-06-01 22:02:04.000000000 -0400
@@ -1,6 +1,6 @@
<?php
class SimpleTags {
- var $version = '1.6.6';
+ var $version = '1.6.6.1';
var $info;
var $options;
@@ -274,8 +274,9 @@
foreach ( (array) $link_tags as $term_name => $term_link ) {
$filtered = ""; // will filter text token by token
- $match = "/\b" . preg_quote($term_name, "/") . "\b/".$case;
- $substitute = '<a href="'.$term_link.'" class="st_tag internal_tag" '.$rel.' title="'. attribute_escape( sprintf( __('Posts tagged with %s', 'simpletags'), $term_name ) )."\">$0</a>";
+ $quoted = preg_quote($term_name, "/");
+ $match = "/(\PL|\A)(" . preg_quote($term_name, "/") . ")(\PL|\Z)/u".$case;
+ $substitute = '$1<a href="'.$term_link.'" class="st_tag internal_tag" '.$rel.' title="'. attribute_escape( sprintf( __('Posts tagged with %s', 'simpletags'), $term_name ) )."\">$2</a>$3";
// for efficiency only tokenize if forced to do so
if ( $must_tokenize ) {
Для тех, кто предпочитает готовое: скачать исправленную версию плагина Simple Tags 1.6.6 для WordPress.
Вложения:
- simple-tags-1.6.6.1 (application/zip)
Июн
2009
Комментарии к статье «Simple Tags 1.6.6 и автоматические ссылки меток на русском языке» (23) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Simple Tags 1.6.6 и автоматические ссылки меток на русском языке»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Странное дело: ставлю на мой блог этот плагин самой свежей версии и он работает, но русифицировать я его не могу – не получается. Вроде меняю английские слова на русские, а выводятся всё равно английские. Ладно, удалила свежую версию и поставила 1.6.4 – вдруг пропал весь сайдбар! Удалила старый плагин и восстановила код – всё стало нормально. Что я делаю не так? Или для моего шаблона этот плагин не подходит?
Галина, у Вас не установлен никакой плагин кэширования?
А слова где меняете — в самом файле плагина?
Если есть желание, попробуйте эту версию: http://d.sjinks.pro/wordpress/simple-tags-1.8.2.zip
Поставила Вашу версию плагина, вроде установилось всё нормально. Но… Есть вопросы.
1. В каком файле плагина можно изменить английские слова на русские? Спрашиваю потому, что не получалось до этого так сделать, наверное делала неправильно.
2. Как добавлять метки? У меня стоит Кумулус, но теперь в админке блога он пропал (хотя на самом блоге облако меток имеется). Раньше через него добавляла метки, а теперь как?
/wp-admin/edit-tags.php?taxonomy=post_tag).Спасибо за помощь! Только я с английским не очень (если честно, то вообще никак). Да и в правке кода могу только сына попросить помочь, а он тоже не всё может…
Ещё раз спасибо!