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

 

Данный движок является очень мощным инструментом для разработчика сайтов. Совсем недавно появилась социальная сеть от google, которая поддерживается гигантом интернет индустрии Google. Если вы хотите дать своим читателям «плюсовать» ваши записи, то почему бы не добавлять кнопку Google+ ко всем материалам автоматически?

Автоматическое добавление кнопки Google+ ко всем записям

 

add_filter(‘the_content’, ‘wpr_google_plusone’);
function wpr_google_plusone($content) {
$content = $content.’<div><g:plusone size=»tall» href=»‘.get_permalink().’»></g:plusone></div>’;
return $content;
}
add_action (‘wp_enqueue_scripts’,'wpr_google_plusone_script’);
function wpr_google_plusone_script() {
wp_enqueue_script(‘google-plusone’, ‘https://apis.google.com/js/plusone.js’, array(), null);
}

 

Просто скопируйте код, который приведен выше в файл functions.php вашей темы. Как только вы сохраните файл, кнопка Google+ будет автоматически выводиться рядом с вашей записью в блоге.

 

Выводим количество подписчиков Facebook

Если в популярной сети, для вашего блога есть страничка Facebook, то вы можете выводить количество подписчиков, которые у нее есть. Следующий код будет выводить данную информацию. Нужно просто скопировать код в любое место темы, где вы планируете выводить количество ваших подписчиков Facebook.

 

<?php
$page_id = «ID_вашей_страницы»;
$xml = @simplexml_load_file(«http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=».$page_id.»") or die («a lot»);
$fans = $xml->page->fan_count;
echo $fans;
?>

 

Выводим содержание поискового запроса для Google

 

<?php
$refer = $_SERVER["HTTP_REFERER"];
if (strpos($refer, «google»)) {
$refer_string = parse_url($refer, PHP_URL_QUERY);
parse_str($refer_string, $vars);
$search_terms = $vars['q'];
echo ‘Здравствуйте, посетитель с поисковика Google! Вы искали, прежде чем перейти сюда: ‘;
echo $search_terms;
};
?>

 

Данный код позволит вам получать поисковый запрос, который ввел пользователь перед переходом на страницу на вашем сайте. Просто скопируйте код в тему туда, где планируете выводить содержание поискового запроса.

 

Выводим «С момента публикации прошло: <время>» для записей и страниц

Если с момента публикации прошло меньше недели, то будем выводить прошедшее количество дней, а в другом случае — дату публикации. В главном цикле вставляем код:

 

$time_diff = current_time(‘timestamp’) — get_the_time(‘U’);
if($time_diff < 604800){//В неделе 604800 секунд
echo ‘С момента публикации прошло: ‘ . human_time_diff(get_the_time(‘U’), current_time(‘timestamp’));
}else{
echo ‘Опубликовано: ‘ . get_the_date() . ‘, ‘ . get_the_time();

};

 

  • human_time_diff() конвертирует дату в воспринимаемый человеком формат;
  • get_the_time() возвращает время создания записи (параметр ‘U’ используется для формирования значения в формате Unix);
  • current_time() возвращает текущее время (параметр ‘timestamp’ используется для формирования значения в формате Unix)
    .

 

Задаем специальный стиль для комментария автора

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

 

if($comment->user_id == get_the_author_meta(‘ID’)){
echo ‘<div>’;
}else{
echo ‘<div>’;
}

 

Мы сравниваем идентификатор автора комментария с идентификатором автора записи, полученным с помощью функции get_the_author_meta(). Если они идентичны, используем класс author_comment, стили которого задаются в CSS.

 

Скрываем верхнюю панель администратора

Начиная с версии 3.1, WordPress выводит верхнюю панель администратора для всех пользователей. От ее вывода можно отказаться с помощью профиля пользователя. Но если на сайте много пользователей/авторов, то лучше воспользоваться функцией show_admin_bar, чтобы одним действием решить задачу для всех:

show_admin_bar(FALSE);

 

Автоматическое отправление email автору, когда публикуется его запись

 

function wpr_authorNotification($post_id) {
$post = get_post($post_id);
$author = get_userdata($post->post_author);

$message = »
Здравствуйте, «.$author->display_name.»,
Ваша статья «.$post->post_title.» только что опубликована. Благодарю за труд!
«;
wp_mail($author->user_email, «Ваша статья опубликована.», $message);
}
add_action(‘publish_post’, ‘wpr_authorNotification’);

 

В случае, если вы ведете блог с несколькими авторами, будет отличной идеей оповещать их, когда их запись публикуется. Скопируйте  следующий код в файл functions.php вашей темы. После сохранения автоматически будет отправляться email автору, когда его запись публикуется.

Создаем содержание только для зарегистрированных пользователей

Если нужно создать содержание, которое смогут просматривать только зарегистрированные пользователи, то следующий короткий код поможет решить задачу. Скопируйте код в файл functions.php вашей темы:

 

function cwc_member_check_shortcode( $atts, $content = null ) {
if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
return $content;
return »;
}
add_shortcode( ‘member’, ‘cwc_member_check_shortcode’ );

 

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

Данный текст будет выводиться только для зарегистрированных пользователей.

 

Кнопка для размещения записи в Twitter через сервис TweetMeme

Twitter является отличным источником трафика для блога. Поэтому данный короткий код является очень полезным инструментом. Скопируйте ниже приведенный код в  файлfunctions.php вашей темы:

 

function tweetmeme(){ return ‘<div><script type=»text/javascript» src=»http://tweetmeme.com/i/scripts/button.js»></script></div>’;
}
add_shortcode(‘tweet’, ‘tweetmeme’);

 

И используем код в записях и страницах:

 

[feedonly]Уважаемы читатели RSS, пожалуйста, посетите <a href=»http://yourwebsite.com»>мой сайт</a> и нажмите на рекламном блоке[/feedonly]

 

Размещаем видео Youtube

Если вы часто размещаете видео с канала Youtube в вашем блоге, то данный код поможет сохранить много времени. Создаем код в файле functions.php вашей темы:

 

function cwc_youtube($atts) {
extract(shortcode_atts(array(
«value» => ‘http://’,
«width» => ’475′,
«height» => ’350′,
«name»=> ‘movie’,
«allowFullScreen» => ‘true’,
«allowScriptAccess»=>’always’,
), $atts));
return ‘<object style=»height: ‘.$height.’px; width: ‘.$width.’px»><param name=»‘.$name.’» value=»‘.$value.’»><param name=»allowFullScreen» value=»‘.$allowFullScreen.’»></param><param name=»allowScriptAccess» value=»‘.$allowScriptAccess.’»></param><embed src=»‘.$value.’» type=»application/x-shockwave-flash» allowfullscreen=»‘.$allowFullScreen.’» allowScriptAccess=»‘.$allowScriptAccess.’» width=»‘.$width.’» height=»‘.$height.’»></embed></object>’;
}
add_shortcode(«youtube», «cwc_youtube»);

 

Упрощаем URL страницы регистрации

Если вам нравится простой адрес для страницы входа/регистрации, напримерhttp://proigru.com/login, то нужно сделать следующие действия на своем блоге.

 

<span style=»font-weight: bold;»>RewriteRule ^login$ http://ваш_сайт.com/wp-login.php [NC,L]
</span>

 

Открываем файл .htaccess, который расположен в корневой папке вашего сайта под управлением WordPress. И копируем в него следующий код. Обязательно сделайте резервную копию оригинального файла .htaccess перед внесением изменений.

 

Разные стили комментариев в зависимости от роли пользователя

Когда ваш блог получает большое количество комментариев, может быть чрезвычайно полезно разделять комментарии от разных пользователей с помощью разных стилей. Например, комментарии администраторов имеют зеленый фон, а комментарии простых подписчиков — серый. Сначала нужно заменить текущий цикл комментариев в файле comments.php следующим кодом:

 

<ol id=»commentlist»>
<?php foreach ($comments as $comment) : ?>
<?php // Дополнительный код для получения роли комментатора
$user_id = $comment->user_id;
$role = ( isset( $roles[$user_id] ) ? $roles[$user_id] : » );
?>
<li>
<p>By <?php comment_author_link() ?> — <?php comment_date() ?></p>
<?php comment_text() ?>
</li>
<?php endforeach; ?>
</ol>

 

Теперь подготовим стили для каждой роли, которая имеет права на комментирование заметок вашего блога. В нашем уроке мы установим стили только для незарегистрированных пользователей или подписчиков, редакторов и администраторов. Скопируйте следующий код в файл style.css:

 

#commentlist li { border:2px solid white; } /* незарегистрированный пользователь или подписчик */
#commentlist li.administrator { border:2px solid red } /* администратор */
#commentlist li.editor { border:2px solid blue } /* редактор */

 

Добавляем форму для входа в любом месте темы

По умолчанию вы можете добавить виджет “Meta” на ваш блог WordPress на любую боковую панель. С помощью данного виджета вы можете регистрироваться и выходить из системы. Но данный виджет отображается в качестве ссылки на панели. Но если вам нужно организовать вход пользователей непосредственно из формы на вашем блоге без нажиманий на ссылки, то нужно скопировать ниже приведенный код в то место, где нужно отображать форму входа на сайт (XXX — адрес вашего проекта)

 

<?php if (!(current_user_can(‘level_0′))){ ?>
<h2>Войти</h2>
<form action=»<?php echo get_option(‘home’); ?>/wp-login.php» method=»post»>
<input type=»text» name=»log» id=»log» value=»<?php echo wp_specialchars(stripslashes($user_login), 1) ?>» size=»20″ />
<input type=»password» name=»pwd» id=»pwd» size=»20″ />
<input type=»submit» name=»submit» value=»Войти» />
<p>
<label for=»rememberme»><input name=»rememberme» id=»rememberme» type=»checkbox» checked=»checked» value=»forever» /> Запомнить меня</label>
<input type=»hidden» name=»redirect_to» value=»<?php echo $_SERVER['REQUEST_URI']; ?>» />
</p>
</form>
<a href=»<?php echo get_option(‘home’); ?>/wp-login.php?action=lostpassword»> Восстановить пароль</a>
<?php } else { ?>
<h2>Выйти</h2>
<a href=»<?php echo wp_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?>»>Выйти</a><br />
<a href=»http://XXX/wp-admin/»>Панель инструментов</a>
<?php } ?>

 

Определяем браузер пользователя в WordPress

Приведенный ниже простой код  определяет название браузера пользователя и добавляет его к функции body_class(). Функцию надо скопировать в файл functions.php.

 

add_filter(‘body_class’,'browser_body_class’);
function browser_body_class($classes) {
global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;

if($is_lynx) $classes[] = ‘lynx’;
elseif($is_gecko) $classes[] = ‘gecko’;
elseif($is_opera) $classes[] = ‘opera’;
elseif($is_NS4) $classes[] = ‘ns4′;
elseif($is_safari) $classes[] = ‘safari’;
elseif($is_chrome) $classes[] = ‘chrome’;
elseif($is_IE) $classes[] = ‘ie’;
else $classes[] = ‘unknown’;

if($is_iphone) $classes[] = ‘iphone’;
return $classes;
}

 

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

<body class=»home blog logged-in safari»>

 

Перенаправление фидов RSS на Feedburner

Feedburner — широко известный сервис, который сообщает, сколько людей подписалось на ваши фиды RSS. Вместо подстраивания вашей темы для замены ссылок на встроенный фид WordPress можно использовать данный крюк, который автоматически перенаправит все фиды WordPress на ваш фид Feedburner.

 

add_action(‘template_redirect’, ‘cwc_rss_redirect’);
function cwc_rss_redirect() {
if ( is_feed() && !preg_match(‘/feedburner|feedvalidator/i’, $_SERVER['HTTP_USER_AGENT'])){
header(‘Location: http://feeds.feedburner.com/ВАШ_ФИД’);
header(‘HTTP/1.1 302 Temporary Redirect’);
}
}

 

В 4-й строке нужно указать URL вашего фида. Копируйте код в файл functions.php вашей темы. Сохраняйте его и пользуйтесь результатом.

Видео

Воробьевы Горы Шалапаи на R8 выпендрились

Буду очень благодарен если поделитесь этой статьёй:

0