Подключите нашего Telegram-бота для уведомлений о новых проектах

Требуется разработка плагина для Wordpress

Разместить заказ
8 фрилансеров уже откликнулись на этот заказ
Без сроков и стоимости.
Данные обновляются раз в 10 минут.
A
Заказчик
Отзывы фрилансеров: + 35 - 1
Зарегистрирован на сайте 17 лет и 1 месяц
Бюджет: по договоренности
Привет
нужно оформить код в плагин для вордпреса и немного дописать функционал

Прошу задать свои вопросы в комментариях,  а так же оценить по времени и срокам

техническое задание на разработку плагина:
============================================
1. при установке плагин добавляет пункт меню в Настройки -> SEO Перелинковка
2.  среда настройки параметров

хранение настроек плагина (не создавать доп таблицы, понять как хранятся настройки в базе

[V] маскировать внешние ссылки
за исключением – МЕМО поле в котором каждый фильтр с новой строки

[V] маскировать внутренние ссылки в которых в URL содержится  
МЕМО – поле (каждое с новой строки)

[V] маскировать внутренние ссылки, которые содержат следующие классы (class=..)

[V] маскировать ссылки с rel=nofollow (во всех вариантах)
    rel='nofollow', rel=«nofollow», rel=nofollow

[V] маскировать ссылки, которые находятся внутри блока <noindex>
     или <!- noindex ->

[V] обрабатывать ссылки в шорткодах 
(по сути простой параметр, который определяет когда отработает наш фильтр до того как отработают фильтры шорткодов или после – реализуется при добавлении фильтра функции add_filter (пример фильтров в основной теме проекта lifeha.ru)

способ скрытия ссылок – при помощи span технологии 
при установке плагина добавляется JS-код в тему
<!-- generator seo perelink -->
<script type="text/javascript" src="/wp-content/themes/life-haker/js/span.js"></script>

технология реализации: 
===========================
это просто сделать через фильтры add_filter 
который позволит обработать выдачу html до того как она будет отправлена юзеру 

оптимально реализация через регулярные выражения 
сейчас это сделано просто в виде функции для отдельного сайта в файле functions.php
=======================


// *********************************************************
// замена внешних ссылок на <span class="seolink" rel=href>
// после того как страница отдается, все спаны с этим классом заменяются обратно на ссылки
// но уже не будут видны поисковикам
// страница на которой тренировался
// view-source:lifeha.ru/youtube/skolko-...
// *********************************************************
function remove_extenal_links($content) {
    
    // находим все ссылки которые не ведут на текущих домен
    // !!! + TODO
    //  скрываем все ссылки на сокращатель lifeha.ru/go/.. – нужно разобраться с регуляркой
    // неработающий пример: |lifeha.ru/go/.*?
    // проблема если в тексте ссылки тег <br/>
    // СМ строка 300: view-source:lifeha.ru/youtube/skolko-...
    
    $host = strtr($_SERVER['HTTP_HOST'], array('.' => '.'));
   
    // TODO
    // Известные проблемы: 
    // !!! не заменяет ссылку если href в одинарных кавычках
    // пример – 192 view-source:lifeha.ru/vkontakte/kak-z...
    // !!! не заменяет ссылки внутри плагина видеогалереи (не понял когда он отрабатывает))
    
    // правильное выражение которое лихо заменяет все внешние ссылк    
    //$pattern = '/<a(.*?)href=["'](http|https)://(?!'.$host.')([^"']+)["' ]([^>]*?)>(.*?|[^a]*?)</a>/i';
    
    $pattern = "/<a(.*?)href=["'](http|https)://(?!".$host.")([^"']+)["' ]([^>]*?)>([sS.]*?)</a>/i";
    $replace = "<span class='seolink_target' rel="http://$3"$1$4>$5</span>";    
    $content = preg_replace($pattern, $replace, $content);
    
    // скрываем все ссылки lifeha.ru/go вторым проходом
    $pattern = '/<a(.*?)href=["'](http|https)://(lifeha.ru/go/)([^"']+)["']([ ^>]*?)>([sS.]*?)</a>/i';
    $replace = "<span class="seolink_target" rel="http://$3$4"$1$5>$6</span>";    
    $content = preg_replace($pattern, $replace, $content);
    
    return $content;
}

// важно поставил приоритет – после того как отработают все с приоритетами 10(по умолчанию)
add_filter ('the_content', 'remove_extenal_links',11);
add_filter ('the_excerpt', 'remove_extenal_links',11);
add_filter ('get_comment_author_link', 'remove_extenal_links',11);

Разделы:
Опубликован:
27.02.2016 | 14:20
Откликнуться Посмотреть другие заказы Разместить заказ

Теги: нужен программист, резюме программиста, требуется программист, резюме веб программиста

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».
-->-->