Non English WordPress Hack
-
I just edited the code and found that my blog is working perfectly with Hindi utf-8 fonts. I Just “lowerNoPunc” removed from the title-to-tags/hn_title_to_tags.php file. Just copy and repalce the code of title-to-tags/hn_title_to_tags.php file with this code. It might also work for other utf-8 blog too.
<?php
/*
Plugin Name: Title to Tags
Plugin URI: https://holisticnetworking.net/plugins/2008/01/25/the-titles-to-tags-plugin/
Description: Creates tags for posts based on the post title on update or publish.
Version: 3.1
Author: Thomas J. Belknap
Author URI: https://holisticnetworking.net
*//* Copyright 2006 Thomas J Belknap (email : [email protected])
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
new titleToTags;class titleToTags {
// Convert titles to tags on save:
function convert($post_id) {
$post = get_post(wp_is_post_revision($post_id));
// No title? No point in going any further:
if(isset($post->post_title)) :
$title = $post->post_title;
// Only run if there are not already tags assigned to the post:
if(!wp_get_post_tags($post_id)) :
// Setup our tag data:
$title_to_tags = array();
$stopwords = $this->getStopWords();
$title_werdz = explode(‘ ‘, $title);
foreach ($title_werdz as $werd) :
if(!in_array($werd, $stopwords) && !in_array($werd, $this->wp_stop)) :
$title_to_tags[] = $werd;
endif;
endforeach;
// Finally, add the tags to the post
wp_add_post_tags($post_id, $title_to_tags);
endif;
endif;
}// Display options page:
function addMenu() {
add_settings_field(
$id = ‘stop_words’,
$title = “Title to Tags ignored words”,
$callback = array( &$this, ‘stop_words’ ),
$page = ‘writing’
);
register_setting( $option_group = ‘writing’, $option_name = ‘stop_words’ );
}function stop_words() {
$values = get_option(‘stop_words’);
if(strlen($values) < 1) :
$values = implode(‘, ‘, $this->getStopWords());
endif;
echo ‘
<p>These words will be ignored by Title to Tags (punctuation removed). To reset, simply delete all values here and the default list will be restored.</p>
<textarea rows=”6″ cols=”100″ name=”stop_words” id=”stop_words”>’ . $values . ‘</textarea>
‘;
}private function getStopWords() {
// Do we have stopwords in the db?
$file = dirname(__FILE__).’/stopwords.txt’;
$stopwords = file_get_contents($file);
$verboten = explode(‘,’, $stopwords);
for($x = 0; $x < count($verboten); $x++) :
endfor;
update_option(‘hn_title_to_tags’, $verboten);
return $verboten;
}// List of WP-specific stop words (draft, etc)
private $wp_stop = array(‘draft’, ‘auto’);// Self-referencing constructor method method:
function titleToTags() {
$this->__construct();
}// Get out there and rock and roll the bones:
function __construct() {
add_action(‘save_post’, array(&$this, ‘convert’));
add_action(‘admin_menu’, array(&$this, ‘addMenu’));
}
}
?>
- The topic ‘Non English WordPress Hack’ is closed to new replies.