[Ищу] Плагин АвтоТеги

Тема в разделе "Wordpress", создана пользователем SkiLLer, 25 янв 2009.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Интересует плагин, который бы сам определял теги для поста при постинге. Ну, и конечно же, чтоб эти теги отображались в облаке тегов.
    Существует ли такой в природе?
    Если нет, может у кого-нибудь есть хотя бы скрипт для определения тегов текста. Нужно для автоматического постинга через RPC.
     
  2. NUrzhyk

    NUrzhyk Постоялец

    Регистр.:
    8 июн 2008
    Сообщения:
    94
    Симпатии:
    31
    Можеш попробовать поставить http://wordpress.org/extend/plugins/simple-tags/. В описании есть строка - Auto tags ! Auto link tags in post content . Но говорю чесно себе не ставил и руками не щупал, так как считаю, что баловство все это.
     
  3. betalik

    betalik

    Регистр.:
    22 июл 2008
    Сообщения:
    159
    Симпатии:
    5
    А по какому принципу работает данный плагин?
     
  4. Omeh2003

    Omeh2003 Создатель

    Регистр.:
    3 июл 2008
    Сообщения:
    17
    Симпатии:
    2
    Да наверное как и все остальные такого толка. Берет текст, откидывает союзы и стоп-слова. Потом анализирует какие слова повторяются чаще. И записывает в кейвордс самые популярные. Но как было написано выше - все это баловство. И толку не будет никакого.
     
  5. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Да, Simple Tags есть. Но как я понял он может проставлять только теги которые уже есть, а сам не вычленяет из контента, а хотелось бы именно эту функцию.
    Даже больше все-таки склоняюсь уже к скрипту, который бы обрабатывал контент.
    А толк - это понятие относительное :) .
     
  6. Limmer

    Limmer

    Регистр.:
    3 июн 2008
    Сообщения:
    206
    Симпатии:
    45
    а почему нельзя автоматом при постинге парсить заголовок статьи, разбивать на слова и подставлять их в метки через запятую?
     
  7. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    Попробуйте headspace2.
    Видео на сайте автора демонстрирует довольно внушительные возможности.
     
  8. sartiii

    sartiii Постоялец

    Регистр.:
    17 сен 2008
    Сообщения:
    105
    Симпатии:
    17
    Видел несколько подобных, но одни работают только с англоязычными текстами, а другие используют внешние сервисы определения тегов, но они тоже в большинстве англоязычны.
     
  9. alexzh

    alexzh

    Регистр.:
    13 сен 2006
    Сообщения:
    222
    Симпатии:
    88
    симпл тагс может брать теги из яху! и тагзэнет! тагзэнет точно с русским не дружит! для англоязычных сайтов он работает приемлимо, особенно если предварительно забить в него список тэгов! Например, если у вас сайт про винду, то сразу забить тэги на тему винды, эксплорера, вин-софта всякого, потом поставить в настройках галку - Tags database Use also local tags database with auto tags.

    Добавлено через 20 секунд
    Впринципе можно использовать class.autokeyword.php, он будет работать и с русским языком. Принцип его работы описал Omeh2003. Только надо составить хороший список стоп слов, думаю его можно найти где-нибудь уже готовый. Потом просто вставить в скрипт который постит через RPC
     
    SkiLLer нравится это.
  10. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    А вот нашел я некий класс, на гофакбизе, только он почему-то с русскими текстами в кодировке UTF-8 не дружит. Может кто-нибудь помочь довести его до ума?
    PHP:
    class Additional_Text_Tegs 

        function 
    getTegs($content$title$count 3$simplyWords null
        { 
            
    $original = array(); 

            
    $sources = array(); 
            
    $titles = array(); 

            
    $use_simply = (is_array($simplyWords) && count($simplyWords)); 

            
    $title preg_replace("/<.*>|\&\#\d+;/iUs"" "$title); 
            
    $title_list preg_split("/[^\w\d\.]+/"$title); 
            foreach (
    $title_list as &$value
            { 
                while (
    substr($value, -1) == '.' && strlen($value)) $value substr($value0, -1); 
                
    $value strtolower($value); 
                
    $original[strtolower($value)] = $value
            } 

            
    $content preg_replace("/<.*>|\&\#\d+;/iUs"" "$content); 
            
    $content_list preg_split("/[^\w\d\.]+/"$content); 
            foreach (
    $content_list as &$value
            { 
                while (
    substr($value, -1) == '.' && strlen($value)) $value substr($value0, -1); 
                
    $original[strtolower($value)] = $value
            } 

            foreach (
    $content_list as $value
            { 
                
    $low strtolower($value); 
                if (
    substr($low, -1) == 's' && key_exists(substr($low0, -1), $original)) $low substr($low0, -1); 

                if ( 
                    (
    strlen($value) > 3) && 
                    (!
    $use_simply || !in_array($low$simplyWords) ) 
                ) 
                { 
                    if (
    in_array($low$title_list)) @$titles[$low]++; else @$sources[$low]++; 
                } 
            } 
            unset(
    $content_list); 
            unset(
    $title_list); 

            
    //echo $content; 

            
    $i 0
            
    $tegs = array(); 
            
    arsort($titles); 
            
    //print_r($titles); 
            
    if (count($titles)) 
            { 
                foreach (
    $titles as $teg => $popular
                { 
                    
    $tegs[$i++] = (isset($original[$teg]) ? $original[$teg] : $teg); 
                    if (
    $i >= $count) break; 
                } 
            } 

            if (
    $i $count && count($sources)) 
            { 
                
    arsort($sources); 
                
    //print_r($sources); 
                
    foreach ($sources as $teg => $popular
                { 
                    if ( (
    $popular == && count($tegs)) || $i >= $count) break; 

                    
    $tegs[$i++] = (isset($original[$teg]) ? $original[$teg] : $teg); 
                } 
            } 

            
    //print_r($tegs); 
            //exit; 

            
    return $tegs
        } 
     
Статус темы:
Закрыта.