• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Информация Wordpress: плюшки файла functions.PHP ))

Статус
В этой теме нельзя размещать новые ответы.
Google CDN images
Писал для себя.

Код:
<?php
function isBot(&$botname = ''){
    $bots = array(
        'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
        'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
        'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
        'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
        'dataparksearch','google-sitemaps','appEngine-google','feedfetcher-google',
        'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
        'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex',
        'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com',
        'Nigma.ru','bing.com','dotnetdotcom','Googlebot-Mobile','Googlebot-Image','Mediapartners-Google','MSNBot-NewsBlogs','MSNBot-Products','MSNBot-Media','Slurp Yahoo! Slurp'
    );
    foreach($bots as $bot)
        if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false){
            $botname = $bot;
            return true;
        }
    return false;
}
if( !isBot() ) {
if(@file_get_contents('http://googledrive.com/host/ID/')){
    //echo "есть\t";
    //echo $_SERVER['SERVER_NAME'];
    //echo $_SERVER['HTTP_USER_AGENT'];
        function google_cdn_img($content) {
            $content = preg_replace( '/(<img)(.+?)(src=")(.+?images.+?)(".+?)>/', '$1$2$3$4$5 onError="this.onerror=null;this.src=\'$4\';">', $content );
            $content = preg_replace( '/(<img)(.+?)(src=")(.+?images\/)(.+?)(".+?>)/', '$1$2$3http://googledrive.com/host/ID', $content );
           
        return $content;
        }
    add_filter('the_content', 'google_cdn_img');
}
else {
    //echo "нет.";
}
}
 
Иногда надо отключить преобразование видеоссылок на видеоплеер - например когда ссылки ведут на ФО. Для этого в functions.php добавляем строчку

Код:
add_filter( 'wp_video_embed_handler', '__return_empty_string' );
 
Вот это держу постоянно при себе, помогает очищать базу данных Вордпресса от всякого мусора!

Есть плагин очень удобный, который позволяет удалять ревизии и комментить их (удобно если с сайтом работает несколько человек) - Thin Out Revisions
И еще GD Press Tools
 
Предотвращаем создание ненужных миниатюр для экономии места на хостинге и удаляем ненужные дубликаты изображений в автоматическом режиме.

Фикс дублей изображений в Wordpress

Код для functions.php текущего шаблона:
PHP:
function true_unset_image_sizes( $sizes) {
    unset( $sizes['thumbnail']); // миниатюра
    unset( $sizes['medium']); // средний
    unset( $sizes['large']); // большой
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'true_unset_image_sizes');

Фикс дублей нестандартных изображений Wordpress
в functions.php или плагинах конкретной темы ищем и комментируем сроки вида:
PHP:
add_image_size()

Удаление дублей всех изображений в Wordpress
После правки кода (отключение созданий ненужных размеров изображений)
устанавливаем и запускаем плагин Для просмотра ссылки Войди или Зарегистрируйся (пересоздание миниатюр (дублей) изображений с текущими настройками).
 
Последнее редактирование:
Добавляет украинскую гривну в Woocommerce (также лучше вставлять в дочернюю тему)

PHP:
 /** UAH Currency */
add_filter( 'woocommerce_currencies', 'add_my_currency' );
function add_my_currency( $currencies ) {
     $currencies['UAH'] = __( 'Ukrainian hryvnia', 'woocommerce' );
     return $currencies;
}
add_filter('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
function add_my_currency_symbol( $currency_symbol, $currency ) {
     switch( $currency ) {
          case 'UAH': $currency_symbol = '₴'; break;
     }
     return $currency_symbol;
}
 
  • Нравится
Реакции: seb
Таки обновил плагин )
Переделан полностью. Стал более красивым, функциональным, меньше запросов к БД, больше производительности.
Теперь плюшек файла functions.php в плагине стало еще больше.
Что внутри:
удаление комментариев с кода html (без удаления совместимости с IE)
скрытие версии в окончании файлов стилей и скриптов
удаление контекстного меню Справка
удаление лого и ссылок c админки на сайт wordpress
чистка wp_head (теперь опциональная, можно выбрать, что удалять, что оставить)
удаление виджетов на главной странице Консоль (также опциональное удаление)
добавление своего виджета в Консоль
транслитерация имени при загрузке файла, транслитерация ссылки при создания новой записи или страницы (аналог плагин - RusToLat)
свой текст в футере вместо надписи "Спасибо вам за творчество с WordPress"
изменение внешнего вида страницы авторизации (применяются стили к форме входа, возможность выбрать фон страницы и логотип над формой)

Ссылка на плагин Для просмотра ссылки Войди или Зарегистрируйся
Тестируем. Буду рад критике и предложениям.

Всем спасибо за плюшки )
 
Последнее редактирование:
В новом Woocommerce UAH уже есть по-умолчанию, если что )
 
подскажите пожалуйста как убрать надпись "Работает на Wordpress" а также логотип "W" при авторизации
 
Вывод заголовка, ограниченного по количеству символов

В файл functions.php добавить код:
Код:
function trim_title_chars($count, $after) {
          $title = get_the_title();
          if (mb_strlen($title) > $count) $title = mb_substr($title,0,$count);
          else $after = '';
          echo $title . $after;
}
Меняем <?php the_title(); ?> в вашей теме на <?php trim_title_chars(30, '...'); ?>
30 - это количество символов.

Вывод заголовка, ограниченного по количеству слов

В файл functions.php добавить код:
Код:
function trim_title_words($count, $after) {
          $title = get_the_title();
          $words = split(' ', $title);
          if (count($words) > $count) {
                    array_splice($words, $count);
                    $title = implode(' ', $words);
          }
          else $after = '';
          echo $title . $after;
}

Меняем <?php the_title(); ?> в вашей теме на <?php trim_title_words(5, '...'); ?>
5 - это количество слов
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху