Master-X
Форум | Новости | Статьи
Главная » Форум » Блоги и Социальные сети » 
Тема: CyberSyn - взять теги из тайтла поста?
цитата
14/02/11 в 05:12
 Vyacheslav
Реально ли выдрать теги для поста из его названия при помощи CyberSyn?
цитата
14/02/11 в 12:51
 cyberxxx
C CyberSyn - нет. С CyberSEO Suite - без проблем.
цитата
16/02/11 в 16:50
 Vyacheslav
Херово icon_neutral.gif
цитата
16/02/11 в 22:24
 Semen_ssr
Оффтопик: cyberxxx, я вот думаю может всем у кого лицензия CyberSEO Suite, дружно скинуться еще разок, чтоб ты его больше никому не продавал, а всем остальным пусть действительно будет херово smail101.gif
цитата
17/02/11 в 00:53
 Блогер
Semen_ssr: +1 smail101.gif
цитата
17/02/11 в 00:59
 Axel-B
Кстати а как это сделать? (теги из тайтла выдрать)
цитата
17/02/11 в 15:47
 cyberxxx
Axel-B писал:
Кстати а как это сделать? (теги из тайтла выдрать)

С CyberSEO Suite, или ты вообще, чисто в академическом плане интересуешься? icon_smile.gif
цитата
18/02/11 в 06:40
 Yacc
Axel-B писал:
Кстати а как это сделать? (теги из тайтла выдрать)

Автоматическое создание меток из заголовка поста.
цитата
18/02/11 в 14:45
 cyberxxx
Ты не понял. Топикстартеру надо создавать метки с заголовков импортируемых постов. На автопилоте то бишь, а не по экшну "save_post".

Вот версия для CyberSEO Suite (вставить в поле "PHP Code <?php .. ?>"):

Код:
$blacklist = array( 'with', 'without', 'gets', 'being', 'this', 'that', 'those', 'nailed', 'fucked', 'penetrated', 'cool', 'best', 'fine', 'awesome', '...' );
preg_match_all('/[\w-]{4,}/', $post['post_title'], $words);

foreach ($words[0] as $word) {
   if (!in_array(strtolower($word), $blacklist)) {
      $post ['categories'][] = ucwords($word);
   }
}


Прошу обратить внимание на то, какой компактный и, в то же время, мощный код получается в случае с CyberSEO Suite.
1) Он сразу же срезает все слова, длиной менее четырех символов (всякие там "a", "an", "the", "of" и т.п.) Данное ограничение устанавливается вот тут: "{4,}" - можете поменять его по своему усмотрению.
2) Стоп-лист задается в самой первой строке. Изначально там нет коротких артиклей и предлогов, ибо они и так отбрасываются согласно условию, описанному в п.1.
3) Все сгенерированные тэги будут добавлены к тем, что уже взяты из фида.

Пара примеров работы скрипта:

Title: "F Is For F-Cup Fox"
Tags: F-Cup

Title: "Cute babe with fine breasts gets nailed!"
Tags: Cute, Babe, Breasts

Title: "Aria in sexy stockings"
Tags: Aria, Sexy, Stockings

Вот собственно и все. Пользуйтесь, кому надо.

Последний раз редактировалось: cyberxxx (18/02/11 в 22:00), всего редактировалось 5 раз(а)
цитата
18/02/11 в 15:01
 Yacc
cyberxxx писал:
Ты не понял. Топикстартеру надо создавать метки с заголовков импортируемых постов. На автопилоте то бишь, а не по экшну "save_post".

Бывает туплю иногда. )

А откуда импорт? Какой экшн? По-русски можно. )
цитата
18/02/11 в 15:35
 cyberxxx
Импорт из фида (разговор ведь об агрегаторе фидов шел изначально).

Экшн save_post, который ты используешь в следующей строке своего кода:
Код:
add_action('save_post', 'create_tags' );

Странные вопросы у тебя, однако. Это ж твой код, чего спрашиваешь? icon_smile.gif
цитата
18/02/11 в 18:09
 groko
Цитата:
Вот версия для CyberSEO Suite (вставить в поле "PHP Code <?php .. ?>")

cyberxxx: если не затруднит, можешь в главном топике CyberSEO запостить, чтобы в одном месте все было
цитата
18/02/11 в 21:38
 Yacc
cyberxxx писал:
Прошу обратить внимание на то, какой компактный и, в то же время, мощный код получается в случае с CyberSEO Suite.

icon_smile.gif
Насколько я понял счастливые обладатели CyberSEO Suite могут вставить в файл functions.php

Код:
<?php
   function stop_words_filter($tag) {   
      $blacklist = array( 'the', 'and', 'kids', 'lolita', 'etc' );
      return !in_array( strtolower($tag), $blacklist );
   }
   
   function extract_tags($title) {
      preg_match_all('/([A-Za-z]){3,10}(?=(\W|$))/', $title, $matches);
      return $matches[0];
   }

   function create_tags($post)
   {
      if($post) {
         $tags = array_map( 'ucfirst', array_values( array_filter( extract_tags( $post['post_title'] ), 'stop_words_filter' ) ) );
         wp_set_object_terms( $post['ID'], $tags, 'post_tag', true );
      }
   }
?>


и вставить в поле "PHP Code <?php .. ?>"
Код:
create_tags($_POST);


?

Если да то прошу обратить внимание какой компактынй и в то же время мощный код получается без всяких CyberSEO Suite.

icon_smile.gif
цитата
18/02/11 в 21:43
 Semen_ssr
Yacc писал:
icon_smile.gif
Насколько я понял счастливые обладатели CyberSEO Suite могут вставить в файл functions.php
-----------------

и вставить в поле "PHP Code <?php .. ?>"
Код:
create_tags($_POST);

?
Если да то прошу обратить внимание какой компактынй и в то же время мощный код получается без всяких CyberSEO Suite.
icon_smile.gif


тебя что-то не понять..
цитата
18/02/11 в 21:56
 cyberxxx
Если честно, то тоже нифига не понял. Вставить то можно хоть что угодно. Вот только работать твой код не будет. Чисто навскидку. Зачем там wp_set_object_terms(), и откуда ты собрался выковыривать $post['ID'], если в исходном массиве такого элемента тупо нет? Кстати, почему у тебя регулярка такая замороченная? Оптимизация кода это не просто красивая фраза. Это то, за что конечный пользователь тебе скажет спасибо icon_wink.gif

Можно и на мопед "Рига" поставить движок от Unreal III, только толку в этом никакого icon_wink.gif

З.Ы. Дель, это ты? icon_smile.gif

Последний раз редактировалось: cyberxxx (18/02/11 в 22:13), всего редактировалось 1 раз
цитата
18/02/11 в 22:11
 Vyacheslav
Что-то совсем ушли от темы icon_sad.gif
цитата
18/02/11 в 22:14
 cyberxxx
Ошибаетесь, батенька. Тему раскрыли на все 100%.
цитата
18/02/11 в 22:22
 Vyacheslav
Ну да ещё во втором посте! icon_smile.gif
А все остальны по поводу CyberSEO Suite
цитата
18/02/11 в 22:25
 Yacc
cyberxxx писал:
Если честно, то тоже нифига не понял. Вставить то можно хоть что угодно. Вот только работать твой код не будет. Чисто навскидку. Зачем там wp_set_object_terms(), и откуда ты собрался выковыривать $post['ID'], если в исходном массиве такого элемента тупо нет? Кстати, почему у тебя регулярка такая замороченная?)

Вобщем ты советуешь покупать последнюю версию CyberSEO Suite и не парится?

Я правильно тебя понимаю?
цитата
19/02/11 в 16:05
 cyberxxx
Да нет, если тебе так нравится, можешь купить и старую, а потом бесплатно проапгрейдить ее до последней. Как говориться, у каждого свой способ потратить свободное время icon_wink.gif
цитата
19/02/11 в 16:33
 Semen_ssr
cyberxxx: smail101.gif
цитата
19/02/11 в 20:12
 Yacc
Semen_ssr писал:
cyberxxx: smail101.gif

icon_lol.gif


Эта страница в полной версии