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
Херово
цитата
16/02/11 в 22:24
Semen_ssr
Оффтопик:
cyberxxx
, я вот думаю может всем у кого лицензия CyberSEO Suite, дружно скинуться еще разок, чтоб ты его больше никому не продавал, а всем остальным пусть действительно будет херово
цитата
17/02/11 в 00:53
Блогер
Semen_ssr:
+1
цитата
17/02/11 в 00:59
Axel-B
Кстати а как это сделать? (теги из тайтла выдрать)
цитата
17/02/11 в 15:47
cyberxxx
Axel-B писал:
Кстати а как это сделать? (теги из тайтла выдрать)
С CyberSEO Suite, или ты вообще, чисто в академическом плане интересуешься?
цитата
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' );
Странные вопросы у тебя, однако. Это ж твой код, чего спрашиваешь?
цитата
18/02/11 в 18:09
groko
Цитата:
Вот версия для CyberSEO Suite (вставить в поле "PHP Code <?php .. ?>")
cyberxxx:
если не затруднит, можешь в главном топике CyberSEO запостить, чтобы в одном месте все было
цитата
18/02/11 в 21:38
Yacc
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
.
цитата
18/02/11 в 21:43
Semen_ssr
Yacc писал:
Насколько я понял
счастливые обладатели CyberSEO Suite
могут вставить в файл functions.php
-----------------
и вставить в поле "
PHP Code <?php .. ?>
"
Код:
create_tags($_POST);
?
Если да то прошу обратить внимание какой компактынй и в то же время мощный код получается без всяких
CyberSEO Suite
.
тебя что-то не понять..
цитата
18/02/11 в 21:56
cyberxxx
Если честно, то тоже нифига не понял. Вставить то можно хоть что угодно. Вот только работать твой код не будет. Чисто навскидку. Зачем там
wp_set_object_terms()
, и откуда ты собрался выковыривать
$post['ID']
, если в исходном массиве такого элемента тупо нет? Кстати, почему у тебя регулярка такая замороченная? Оптимизация кода это не просто красивая фраза. Это то, за что конечный пользователь тебе скажет спасибо
Можно и на мопед "Рига" поставить движок от Unreal III, только толку в этом никакого
З.Ы. Дель, это ты?
Последний раз редактировалось: cyberxxx (
18/02/11 в 22:13
), всего редактировалось 1 раз
цитата
18/02/11 в 22:11
Vyacheslav
Что-то совсем ушли от темы
цитата
18/02/11 в 22:14
cyberxxx
Ошибаетесь, батенька. Тему раскрыли на все 100%.
цитата
18/02/11 в 22:22
Vyacheslav
Ну да ещё во втором посте!
А все остальны по поводу CyberSEO Suite
цитата
18/02/11 в 22:25
Yacc
cyberxxx писал:
Если честно, то тоже нифига не понял. Вставить то можно хоть что угодно. Вот только работать твой код не будет. Чисто навскидку. Зачем там
wp_set_object_terms()
, и откуда ты собрался выковыривать
$post['ID']
, если в исходном массиве такого элемента тупо нет? Кстати, почему у тебя регулярка такая замороченная?)
Вобщем ты советуешь покупать
последнюю версию CyberSEO Suite
и не парится?
Я правильно тебя понимаю?
цитата
19/02/11 в 16:05
cyberxxx
Да нет, если тебе так нравится, можешь купить и старую, а потом бесплатно проапгрейдить ее до последней. Как говориться, у каждого свой способ потратить свободное время
цитата
19/02/11 в 16:33
Semen_ssr
cyberxxx:
цитата
19/02/11 в 20:12
Yacc
Semen_ssr писал:
cyberxxx:
Новая тема
Ответить
Эта страница в полной версии