нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 14/02/11 в 05:12 |
Реально ли выдрать теги для поста из его названия при помощи CyberSyn?
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 14/02/11 в 12:51 |
C CyberSyn - нет. С CyberSEO Suite - без проблем.
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 16/02/11 в 16:50 |
Херово
|
|
|
|
С нами с 22.03.09
Сообщения: 7753
Рейтинг: 6329
|
Добавлено: 16/02/11 в 22:24 |
Оффтопик: cyberxxx, я вот думаю может всем у кого лицензия CyberSEO Suite, дружно скинуться еще разок, чтоб ты его больше никому не продавал, а всем остальным пусть действительно будет херово
|
|
|
|
С нами с 16.10.08
Сообщения: 1372
Рейтинг: 834
|
Добавлено: 17/02/11 в 00:53 |
Semen_ssr: +1
|
|
|
|
С нами с 14.10.02
Сообщения: 462
Рейтинг: 727
|
Добавлено: 17/02/11 в 00:59 |
Кстати а как это сделать? (теги из тайтла выдрать)
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 17/02/11 в 15:47 |
Axel-B писал: | Кстати а как это сделать? (теги из тайтла выдрать) |
С CyberSEO Suite, или ты вообще, чисто в академическом плане интересуешься?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 18/02/11 в 06:40 |
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 18/02/11 в 14:45 |
Ты не понял. Топикстартеру надо создавать метки с заголовков импортируемых постов. На автопилоте то бишь, а не по экшну "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 раз(а)
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 18/02/11 в 15:01 |
cyberxxx писал: | Ты не понял. Топикстартеру надо создавать метки с заголовков импортируемых постов. На автопилоте то бишь, а не по экшну "save_post". |
Бывает туплю иногда. )
А откуда импорт? Какой экшн? По-русски можно. )
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 18/02/11 в 15:35 |
Импорт из фида (разговор ведь об агрегаторе фидов шел изначально).
Экшн save_post, который ты используешь в следующей строке своего кода:
Код: | add_action('save_post', 'create_tags' ); |
Странные вопросы у тебя, однако. Это ж твой код, чего спрашиваешь?
|
|
|
|
С нами с 15.02.09
Сообщения: 342
Рейтинг: 93
|
Добавлено: 18/02/11 в 18:09 |
Цитата: | Вот версия для CyberSEO Suite (вставить в поле "PHP Code <?php .. ?>") |
cyberxxx: если не затруднит, можешь в главном топике CyberSEO запостить, чтобы в одном месте все было
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 18/02/11 в 21:38 |
cyberxxx писал: | Прошу обратить внимание на то, какой компактный и, в то же время, мощный код получается в случае с CyberSEO Suite. |
Насколько я понял счастливые обладатели 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.
|
|
|
|
С нами с 22.03.09
Сообщения: 7753
Рейтинг: 6329
|
Добавлено: 18/02/11 в 21:43 |
Yacc писал: |
Насколько я понял счастливые обладатели CyberSEO Suite могут вставить в файл functions.php
-----------------
и вставить в поле "PHP Code <?php .. ?>"
Код: | create_tags($_POST); |
?
Если да то прошу обратить внимание какой компактынй и в то же время мощный код получается без всяких CyberSEO Suite.
|
тебя что-то не понять..
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 18/02/11 в 21:56 |
Если честно, то тоже нифига не понял. Вставить то можно хоть что угодно. Вот только работать твой код не будет. Чисто навскидку. Зачем там wp_set_object_terms(), и откуда ты собрался выковыривать $post['ID'], если в исходном массиве такого элемента тупо нет? Кстати, почему у тебя регулярка такая замороченная? Оптимизация кода это не просто красивая фраза. Это то, за что конечный пользователь тебе скажет спасибо
Можно и на мопед "Рига" поставить движок от Unreal III, только толку в этом никакого
З.Ы. Дель, это ты?
Последний раз редактировалось: cyberxxx (18/02/11 в 22:13), всего редактировалось 1 раз
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 18/02/11 в 22:11 |
Что-то совсем ушли от темы
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 18/02/11 в 22:14 |
Ошибаетесь, батенька. Тему раскрыли на все 100%.
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 18/02/11 в 22:22 |
Ну да ещё во втором посте!
А все остальны по поводу CyberSEO Suite
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 18/02/11 в 22:25 |
cyberxxx писал: | Если честно, то тоже нифига не понял. Вставить то можно хоть что угодно. Вот только работать твой код не будет. Чисто навскидку. Зачем там wp_set_object_terms(), и откуда ты собрался выковыривать $post['ID'], если в исходном массиве такого элемента тупо нет? Кстати, почему у тебя регулярка такая замороченная?) |
Вобщем ты советуешь покупать последнюю версию CyberSEO Suite и не парится?
Я правильно тебя понимаю?
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 19/02/11 в 16:05 |
Да нет, если тебе так нравится, можешь купить и старую, а потом бесплатно проапгрейдить ее до последней. Как говориться, у каждого свой способ потратить свободное время
|
|
|
|
С нами с 22.03.09
Сообщения: 7753
Рейтинг: 6329
|
Добавлено: 19/02/11 в 16:33 |
cyberxxx:
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 19/02/11 в 20:12 |
Semen_ssr писал: | cyberxxx: |
|
|
|
|