10 вставок кода для вашего сайта на WordPress

В данном уроке приводится 10 вставок кода для WordPress, которые могут облегчить труд блогера.

 

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

Google+ - новая социальная сеть, которая поддерживается гигантом интернет индустрии Google. Если вы хотите дать своим читателям "плюсовать" ваши записи, то почему бы не добавлять кнопку Google+ ко всем материалам автоматически?

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

add_filter('the_content', 'wpr_google_plusone');
function wpr_google_plusone($content) {
	$content = $content.'<div class="plusone"><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);
}

 

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

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

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

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');
	}
}

 

 

3. Отслеживаем количество просмотров записей без использования плагина

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

function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0 просмотров";
    }
    return 'Просмотров: '.$count;
}
function setPostViews($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

А затем копируем ниже приведенный код в файл single.php в главный цикл:

<?php setPostViews(get_the_ID()); ?>

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

<?php echo getPostViews(get_the_ID()); ?>

 

4. Выводим количество фанов 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;
?>

 

5. Выводим содержание поискового запроса для 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;
};
?>

 

6. Просто выводим внешние файлы с помощью короткого кода

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

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

function show_file_func( $atts ) {
  extract( shortcode_atts( array(
    'file' => ''
  ), $atts ) );

  if ($file!='')
    return @file_get_contents($file);
}

add_shortcode( 'show_file', 'show_file_func' );

После сохранения файла functions.php вы можете использовать короткий код в редакторе WordPress:

[show_file file="http://www.некий_сайт.com/некая_страница.html"]

 

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

В случае, если вы ведете блог с несколькими авторами, будет отличной идеей оповещать их, когда их запись публикуется. Скопируйте  следующий код в файл functions.php вашей темы. После сохранения автоматически будет отправляться 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');

 

8. Выводим снимок экрана другого сайта с помощью короткого кода

Вам приходится выводить снимки других сайтов в вашем блоге? Если да, то может быть вам будет полезна возможность размещать снимок любого сайта с помощью короткого кода с указанием адреса URL.

Сначала надо добавить функции в файл functions.php вашей темы.

<?php
function bm_sc_mshot ($attributes, $content = '', $code = '') {

	extract(shortcode_atts(array(
		'url' => '',
		'width' => 250,
	), $attributes));

	$imageUrl = bm_mshot ($url, $width);

	if ($imageUrl == '') {
		return '';
	} else {
		$image = '<img src="' . $imageUrl . '" alt="' . $url . '" width="' . $width . '"/>';
		return '<div class="browsershot mshot"><a href="' . $url . '">' . $image . '</a></div>';
	}

}

function bm_mshot ($url = '', $width = 250) {

	if ($url != '') {
		return 'http://s.wordpress.com/mshots/v1/' . urlencode(clean_url($url)) . '?w=' . $width;
	} else {
		return '';
	}

}

add_shortcode('browsershot', 'bm_sc_mshot');
?>

После сохранения файла вы можете воспользоваться коротким кодом [browsershot] в редакторе WordPress:

[browsershot url="http://ссылка_на сайт" width="ширина_снимка"]

 

9. Список сайтов в вашей сети

Очень полезная функция для тех, использует сеть веб сайтов с помощью функции WordPress 3.+ (мультисайт). Вам нужно выводить список всех сайтов в сети?Задача просто решается с помощью следующего кода..

Первым шагом, конечно, нужно добавить функции в файл functions.php вашей темы.

function wp_list_sites( $expires = 7200 ) {
   if( !is_multisite() ) return false;

   // Так как функция get_blog_list() не рекомендуется к использованию по причине
   // потенциально высокого потребления ресурсов, то мы используем
   // $wpdb для формирования своего запроса SQL. Так как запрос может 
   // интенсивно использовать память, то результат будет сохраняться с помощью Transients API
   if ( false === ( $site_list = get_transient( 'multisite_site_list' ) ) ) {
      global $wpdb;
      $site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id') );
      // Устанавливаем срок хранения кеша Transient равным двум часам
      set_site_transient( 'multisite_site_list', $site_list, $expires );
   }

   $current_site_url = get_site_url( get_current_blog_id() );

   $html = '
<ul id="network-menu">' . "\n";

   foreach ( $site_list as $site ) {
      switch_to_blog( $site->blog_id );
      $class = ( home_url() == $current_site_url ) ? ' class="current-site-item"' : '';
      $html .= "\t" . '
<li id="site-' . $site->blog_id . '" '="" .="" $class=""><a href="' . home_url() . '">' . get_bloginfo('name') . '</a></li>

' . "\n";
      restore_current_blog();
   }

   $html .= '</ul>

<!--// end #network-menu -->' . "\n\n";

   return $html;
}

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

<?php
// Меню сети мультисайта
$network_menu = wp_list_sites();
if( $network_menu ):
?>
<div id="network-menu">
   <?php echo $network_menu; ?>
</div>

<!--// end #network-menu -->
<?php endif; ?>

 

10. Добавляем класс записи, если запись имеет миниатюру

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

Скопируйте следующий код в файл functions.php вашей темы.

function has_thumb_class($classes) {
	global $post;
	if( has_post_thumbnail($post->ID) ) { $classes[] = 'has_thumb'; }

		return $classes;
}
add_filter('post_class', 'has_thumb_class');

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/synv0b7kFkA/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

10 вставок кода для вашего сайта на WordPress | | 2012-06-19 12:01:00 | | Статьи Web-мастеру | | В данном уроке приводится 10 вставок кода для WordPress, которые могут облегчить труд блогера. 1. Автоматически добавляем кнопку Google+ к записиGoogle+ - новая социальная сеть, которая | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: