понедельник, 3 декабря 2012 г.

Ретвиттинг с помощью Javascript (blogger.js).


Одно время для отображения твитов на сайте я использовал данный код:

  1. <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>`  
  2. <script type="text/javascript" src="http://twitter.com/statuses/user_timeline/[ВашеИмяПользователя].json?callback=twitterCallback2&amp;count=1"></script>
довольно удобно те что можно самому настроить стили отображения, выбрать ширину и высоту блока и т.д. а не так как по умолчанию у твитер API.

Но с недавнего времени произошли кое-каке изменения и теперь следует использовать следующий код:

  1. <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>  
  2. <script type="text/javascript" src="http://api.twitter.com/1/statuses/user_timeline.json?callback=twitterCallback2&screen_name=[ВашеИмяПользователя]&count=1&include_rts=true"></script>
Приятной вам работы!!!!
 

воскресенье, 2 декабря 2012 г.

Как выводить нужный нам текст AddThis на Wordpress

Если расшаривать страницу с помощью AddThis то он по умолчанию вставляет текст с тега <title>  как заголовок и текст с поля <meta name="description" content="Этот текст"> как описание страницы.

Для вывода своего текста или например тескта поста надо использовать тег <meta property="og:description" content="Текст описания" /> для вывода нужного нам описания и тег <meta property="og:title" content="Заголовок" /> для вывода заголовка.

В Wordpress, как вариант для текста описания можно использовать значение <?php the_content_rss(); ?> которое "Выводит содержание текущей записи в формате RSS."

Я сделал это так:


print "<meta property='og:description' content='"; the_content_rss(); print "' />";

Если у вас есть вариант получше пишите, я еще только учусь :)

P.S. Неработает с выводом в Facebook...

Как убрать Addthis из определенной категории.

И так у нас есть одна категория в которой мы не хотим отображать кнопки AddThis


Что бы убрать кнопки, надо в файл functions.php вашей темы Wordpress добавить следующие строки:

add_filter('addthis_post_exclude', 'at_cookbook_addthis_post_exclude');
function at_cookbook_addthis_post_exclude($display)
{
    if ( in_category( 4 ) )
        $display = false;
    return $display;
}

Где 4 это номер нужной нам категории.

Более полную информацию можно получить тут.

Настраиваем свой порядок кнопок в Wordpress Addthis

В прошло посте я описал как добавить AddThis на Wordpress, а в этом мы внесем небольшие поправки.
По умолчанию AddThis предоставляет такой порядок кнопок

Но в зависимости от специфики сайта нам надо что бы отображались кнопки Вконтакте, Однокласники и т.д.

Wordpress + AddThis

Сегодня вратце расскажу как добавить красивые социальные кнопки на ваш сайт.
1. Для начала регестрируемся на http://www.addthis.com
2. Залогинившись, заходим в Settings - Profiles и создаем профиль для вашего сайта.
3. С этой странички нам пригодится значение Profile ID (что-то вроде ra-50ххх04638bхххaa).
4. Переходим в Share settings, из левой колонки переносим нужные кнопки вправую. После переноса с помощью стрелок вверх и вниз сортируем в нужной нам очередности и сохраняем.



четверг, 15 ноября 2012 г.

WP. Woocommerce CSV importer

Нашел еще один отличный импортер данных в WooCommerce - Woocommerce CSV importer.

Отлично работает.
- Частые проблемы, для теста загрузки используйте больше 2 записей иначе выдаст ошибку.
- Для вставки русского/украинского текста используйте UTF-8 и помещайте текст в кавычки.

Будут вопросы обращайтесь!

воскресенье, 28 октября 2012 г.

пятница, 26 октября 2012 г.

воскресенье, 7 октября 2012 г.

Wordpress Woocommerce добавление своей валюты.


Как добавить свою валюту в WooCommerce.
В файл functions.php вашей темы добавляем следующий код:
add_filter( ‘woocommerce_currencies’, ‘add_my_currency’ );function add_my_currency( $currencies ) {     $currencies[‘UAH’] = __( ‘Гривня (UAH)’, ‘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;}

воскресенье, 19 августа 2012 г.

Wordpress. Ссылка читать далее (tag more)

Если вы разделяете свой текст тегом <!–more–>, а ссылка "Читать далее..." не отображается, то изменяем код на:

<?php the_content('Читать далее...'); ?>
Более того, можно добавить в текст фразы заголовок поста: 

<?php the_content("Читаем дальше " . the_title('', '', false)); ?>

WordPress. Делаем свой шаблон для страницы.


Создаем отдельный файл для шаблона страницы и в нем уже делаем необходимые нам внешний вид и функционал. Для этого делаем копию файла page.php, index.php или 404.php, любой на выбор и называем его, например, shablon.php. Открываем созданный файл и в самом начале прописываем:
<?php/*Template Name: Тестовый шаблон*/?>
Теперь при создании страницы у вас будет возможность использовать его.

четверг, 7 июня 2012 г.

PHP функция - транслитерация

Простая функция для транслитерации, может кому пригодится.


function transliteration($str){
    $trans = array("а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e",
"ё"=>"yo","ж"=>"j","з"=>"z","и"=>"i","й"=>"i","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t",
"у"=>"y","ф"=>"f","х"=>"h","ц"=>"c","ч"=>"ch", "ш"=>"sh","щ"=>"shh",
"ы"=>"i","э"=>"e","ю"=>"u","я"=>"ya","ї"=>"i","'"=>"","ь"=>"","Ь"=>"",
"ъ"=>"","Ъ"=>"","і"=>"i","А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D",
"Е"=>"E", "Ё"=>"Yo","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"I","К"=>"K", "Л"=>"L",
"М"=>"M","Н"=>"N","О"=>"O","П"=>"P", "Р"=>"R","С"=>"S","Т"=>"T","У"=>"Y",
"Ф"=>"F", "Х"=>"H","Ц"=>"C","Ч"=>"Ch","Ш"=>"Sh","Щ"=>"Sh", "Ы"=>"I","Э"=>"E",
"Ю"=>"U","Я"=>"Ya","Ї"=>"I","І"=>"I");
    $res=str_replace(" ","-",strtr(strtolower($str),$trans));
    //если надо, вырезаем все кроме латинских букв, цифр и дефиса (например для формирования логина)
    $res=preg_replace("|[^a-zA-Z0-9-]|","",$res);
    return $res;
}
/источник

Wordpress антиспам плагин Antispam Bee


Wordpress антиспам плагин Antispam Bee

вторник, 24 апреля 2012 г.

PHP. Возврат изображения 1px .GIF


// выдает 1 пиксельный прозрачный gif 
// например для счетчика. 
// Ulrich Babiak, Koeln 1999/11/30 

// несколько Headers для предотвращения кеширования

Header(  "Content-type:  image/gif"); 
Header("Expires: Wed, 11 Nov 1998 11:11:11 GMT"); 
Header("Cache-Control: no-cache"); 
Header("Cache-Control: must-revalidate"); 

// Это выдаст браузеру 1 пиксельный gif  
// убедитесь что это одна непрерывная строка! 

printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c% 
c%c%c%c%c%c%c%c",71,73,70,56,57,97,1,0,1,0,128,255,0,192,192,192,0,0,0,33,249,4, 
1,0,0,0,0,44,0,0,0,0,1,0,1,0,0,2,2,68,1,0,59); 

//  gif готов, 
//  теперь можно добавить счетчик внизу 

Расчет возраста в PHP


<?
     //"Дата рождения ".birthday("1980-07-05"); --> Возраст 31

    function birthday ($birthday){
        list($year,$month,$day) = explode("-",$birthday);
        $year_diff  = date("Y") - $year;
        $month_diff = date("m") - $month;
        $day_diff   = date("d") - $day;
        if ($month_diff < 0) $year_diff--;
        elseif (($month_diff==0) && ($day_diff < 0)) $year_diff--;
        return $year_diff;
    }
?>

пятница, 13 апреля 2012 г.

PHP. Проверить существует ли файл на другом сайте.

$url='http://www.test.net/file.jpg';
$addy=parse_url($url);
$addy['port']=isset($addy['port'])?$addy['port']:80;
$sh=fsockopen($addy['host'],$addy['port']) or die('Невозможно открыть сокет');
fputs($sh,"HEAD {$addy['path']} HTTP/1.1\r\nHost: {$addy['host']}\r\n\r\n");

while($line=fgets($sh))
   if(preg_match('/^Content-Length: (d+)/',$line,$m))
      $size=$m[1];

echo isset($size)?"размер $url файла $size": 'нет такого файла: '.$url; 

/ссылка/

суббота, 7 апреля 2012 г.

Chosen: идеальные выпадающие списки


Плагин Chosen создан для оформления красивых и удобных выпадающих меню с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:
$(".chzn-select").chosen()
(версия для jQuery)

По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

40 полезных API для дизайнеров и разработчиковfor web designers and developers

40 useful APIs for web designers and developers
An application programming interface (API) is a set of rules and specifications that software programs can follow to communicate or ‘interface’ with each other.
As developers are well aware, there are hundreds of APIs out there for doing almost anything you could imagine online. Some are better than others, and some are definitely more useful than others.
Below are forty of the most useful APIs out there. The included APIs will let you do everything from shortening a URL to displaying a book preview on your site to interacting with your Twitter account, and everything in between.
Please share with us which APIs have you found most useful and feel free to recommend others that we may have missed…

пятница, 6 апреля 2012 г.

Проверка подлинности данных формы

Существует способ причинения вреда сайту, при котором определенная форма сохраняется на жесткий диск злоумышленника, изменяется параметр action и обращение к серверу происходит непосредственно с удаленного компьютера. Это делается с целью обхода проверки передаваемых данных средствами JavaScript, автоматизации подбора пароля, флуда и т.д. Защититься от этого можно с помощью переменной окружения HTTP_REFERER. В ней содержится адрес страницы, с которой был осуществлен переход. Например, если имя вашего домена www.some.com, то оно обязательно будет присутствовать в HTTP_REFERER при переходах внутри сайта. То есть в сценарии можно сделать следующую защиту:

if(!eregi("some\.com", $_SERVER['HTTP_REFERER'])) die("Несанкционированное обращение!");
или так


if(substr($_SERVER['HTTP_REFERER'], 0 , 18) != "http://www.site.ru" && substr($_SERVER['HTTP_REFERER'], 0 , 14) != "http://site.ru") die("Умри!");


проблемы:
переменной HTTP_REFERER нельзя полностью довериться, поскольку она может быть изменена на стороне клиента, но все же рассмотренный способ является хорошей защитой "от дурака

понедельник, 5 марта 2012 г.

Полезные инструменты для работы с HTML5

HTML является основой при создании большинства веб-страниц, благодаря нему происходит представление всей видимой нами в сети информации в удобном для чтения виде. Эволюция HTML породила несколько версий языка, последней из которых на данный момент является пятая, известная всем как HTML5. HTML5 использует новые элементы и теги, позволяющие создавать красивые и эффектные сайты, и вместе с тем упрощающие процесс создания страниц. Мы предлагаем вам ознакомиться с несколькими полезными онлайн-инструментами, которые помогут сделать ваш процесс разработки под HTML5 проще.

Ознакомиться тут.

jQuery Visual Cheat Sheet

Подборка читов для jQuery.
Scribd версия

HTML5 таблица читов.





Ссылочка на фликр

суббота, 3 марта 2012 г.

PHP date() – месяц на русском


Работая над различными веб-проектами (как правило программирование – PHP), практически везде и всегда приходится работать с данными содержащие атрибут – даты. Например дата добавления новости на сайт. И вроде бы все предельно просто и понятно – там где нужно вывести дату, пользуемся командой PHP для вывода даты в любом заданном формате date(). Но она не умеет выводить месяц на русском языке.

В итоге я быстренько накидал функцию, которая заменит мне стандартную функцию для вывода форматированной даты и будет выводить русский месяц.

function rdate($param, $time=0) {
if(intval($time)==0)$time=time();
$MonthNames=array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");
if(strpos($param,'M')===false) return date($param, $time);
else return date(str_replace('M',$MonthNames[date('n',$time)-1],$param), $time);
}

Пример работы обычной команды data(«d M Y»);
Выведет результат: 01 Mar 2012

Пример работы новой функции rdate(«d M Y»);
Выведет результат: 01 Марта 2012
string rdate ( string $format [, int $timestamp = time() ] )

Во всем остальном новая функция rdate() работает точно также как и стандартная функция. Для вывода месяца в форматированной дате используется латинский символ «M». Так же возможен второй параметр функции, для указания метки времени – timestamp.
/источник/

пятница, 2 марта 2012 г.

Wordpress шпаргалки.

Wordpress cookbook. Создание шаблона с нуля.

Wordpress и SEO

Хорошая статья по оптимизации wordpress для поисковых систем, правда на английском.

Wordpress. Показ рекламы Google после первого поста.

Как отобразить рекламу Google AdSense после первого поста?
Очень просто. Вам потребуется добавить переменную ($loopcounter) в Loop. Если переменная $loopcounter меньше или равна 1, тогда включаем google-ad.php код.

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); $loopcounter++; ?>

  // the loop stuffs

  <?php if ($loopcounter <= 1) { include (TEMPLATEPATH . '/ad.php'); } ?>

<?php endwhile; ?>

<?php else : ?>

<?php endif; ?>

/англ. вер./

Wordpress. Тэги шаблона.

Хорошее описание тегов:
http://bueltge.de/test/wp-functions/

Wordpress. Шпаргалка база данных

суббота, 25 февраля 2012 г.

PHP генератор пароля

Это простой генератор паролей написанные на PHP. Использование MD5 даст нам сильный пароль, и так же можно изменить длину пароля.

<?php
// используем md5
// $length = 20 можно изменить, это длинна пароля
function md5_pass($length = 16)
{
return substr(md5(rand().rand()), 0, $length);
}
?>

<b>Ваш случайный пароль:</b><br />
<?php
    echo md5_pass();
?>
<br />
<form method="post">
<input type="button" value="Generated"
onclick="window.location.reload()">
</form>

суббота, 18 февраля 2012 г.

.htaccess и 20 правил для безопасности вашего сайта.


При правильном использовании, конфигурационный файл web-сервера Apache — .htaccess (hypertext access) представляет собой очень мощное средство в инструментарии разработчика. По-обыкновению, основной файл располагается в корневой директории вашего web-сервера (также могут присутствовать отдельные файлы в каждой папке — для управления доступом) и может быть откорректирован с помощью любого текстового редактора. В этой статье я покажу вам 20 правил для  .htaccess и поясню для чего их использовать.
Прежде чем мы начнем, обращаю ваше внимание на тот факт, что злоупотребление использованием .htaccess может привести к снижению производительности вашего сайта. Использовать .htaccess для реализации той или иной задачи стоит только в том случае, если нет других вариантов.
/Читаем тут/

Защита сайта с помощью .htaccess

Несколько приятных мелочей от .htaccess, которые помогут вам в защите вашего сайта:

1. Блокируем все сценарии которые могут быть отправлены через адресную строчку:

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
2. Блокируем сценарии с тегом <script>:
 RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
3. Блокируем сценарии которые попытаются изменить настройки РНР через адресную строку:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
4. Блокируем сценарии пытающиеся получить 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]

Растянуть background на весь экран с помощью css

Цель - растянуть фон/картинку на все окно браузера.

Используем CSS:


<html>
<head>
  <style type="text/css">
    html, body {
      margin: 0px;
      height: 100%;
    }
    #background {
      position: absolute;
      width: 100%;
      height: 100%;
    }
  </style>
</head>
<body>
<img id="background" src="background.jpg" />
Cодержимое страницы
</body>
</html>

 Еще несколько разных вариаций на данную тему можно найти тут.