WordPress: сборник php хаков для wordpress

wordpress логоЕсли вы занимаетесь созданием шаблонов для WordPress и если занимаетесь этим часто, то очень удобно иметь некий набор кусочков кода — сниппетов. Каждый сниппет призван выполнять какую-либо функцию и их легко использовать — копипаст. Конечно не все сниппеты используются часто, но некоторые из них имеет смысл использовать когда необходим расширенный функционал. Мы тут все о WordPress говорим, а на webmasters.ru Лицензия UMI.CMS бесплатно. Эта статья будет представлять из себя набор готовых сниппетов для WordPress, которые вы можете брать и использовать.

Автоматическое добавление кнопок Twitter и Facebook в посты

Этот сниппет будет добавлять кнопки твиттера и фейсбука в начало ваших постов. Все, что нужно сделать — это добавить ниже приведенный код в файл functions.php.

function share_this($content){
    if(!is_feed() && !is_home()) {
        $content .= '

‘; } return $content; } add_action(‘the_content’, ‘share_this’);

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

А вот простой способ подсчитать и вывести количество просмотров вашего поста. Вставьте ниже приведенный код в файл 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 View";
    }
    return $count.' Views';
}
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()); ?>

Вывод самых просматриваемых записей

Этот сниппет выведет топ записей по количеству просмотров. Имейте ввиду, что он будет работать только если вы использовали предыдущий сниппет.
Вставьте этот сниппет в нужное вам место и после него используйте стандартный loop для вывода постов. Посты будут выводиться в порядке от самого популярного поста к менее популярным.

< ? query_posts('meta_key=post_views_count&orderby=post_views_count&order=DESC'); ?>

Хлебные крошки без плагина

Хлебные крошки дают сразу два плюса: удобство навигации (возврат к предыдущей странице) и дополнительная внутренняя перелинковка. Для создания хлебных крошек есть масса плагинов, но мы используем небольшой сниппет, который необходимо вставить все в тот же файл functions.php:

function the_breadcrumb() {
echo '
      ‘; if (!is_home()) { echo ‘

    • ‘; echo ‘Home’; echo «

«; if (is_category() || is_single()) { echo ‘

  • ‘; the_category(‘
  • ‘); if (is_single()) { echo «
  • «; the_title(); echo ‘

 

‘; } } elseif (is_page()) { echo ‘

  • ‘; echo the_title(); echo ‘

 

‘; } } elseif (is_tag()) {single_tag_title();} elseif (is_day()) {echo»

  • Archive for «; the_time(‘F jS, Y’); echo’

 

‘;} elseif (is_month()) {echo»

  • Archive for «; the_time(‘F, Y’); echo’

 

‘;} elseif (is_year()) {echo»

  • Archive for «; the_time(‘Y’); echo’

 

‘;} elseif (is_author()) {echo»

  • Author Archive»; echo’

 

‘;} elseif (isset($_GET[‘paged’]) && !empty($_GET[‘paged’])) {echo »

  • Blog Archives»; echo’

 

‘;} elseif (is_search()) {echo»

  • Search Results»; echo’

 

‘;} echo ‘

‘; }

Далее потребуется вызвать функцию php the_breadcrumb(). Сделать мы сможем это с помощью вот такого кода:

< ?php the_breadcrumb(); ?>

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

Выводим последние записи из любой RSS-ленты

Иногда требуется вывести последние записи. Записи не всегда могут быть с вашего блога. Это могут быть записи другого вашего блога или сайта, или записи схожего по тематике сайта и т.д. Сделать это можно очень просто, используя вот такой сниппет:

< ?php include_once(ABSPATH.WPINC.'/rss.php'); wp_rss('http://www.rusdigi.org/feed', 5); ?>

где http://www.rusdigi.org/feed вам нужно заменить на нужный вам адрес RSS-ленты, а 5 — количество выводимых записей.

Шорткод для WP для вывода внешних файлов

Если вам нужен простой способ вывести содержимое другой страницы, этот сниппет создаст шорткод для вставки содержимого внешней страницы в ваш пост. Вставьте данный код в файл 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' );

И далее, при редактирование статьи, вставьте шорткод

[show_file file="http://www.rusdigi.org"]

где необходимо сменить URL на нужный вам.

Меняем excertp

Многие, я думаю, хоть раз сталкивались с необходимостью изменить стандартный excerpt (до, что выводиться до ссылки «читать далее»). Вставьте данный код в файл function.php:

< ?php add_filter('the_excerpt', 'my_excerpts'); function my_excerpts($content = false) { global $post; $mycontent = $post->post_excerpt;

            $mycontent = $post->post_content;
            $mycontent = strip_shortcodes($mycontent);
            $mycontent = str_replace(']]>', ']]>', $mycontent);
            $mycontent = strip_tags($mycontent);
            $excerpt_length = 55;
            $words = explode(' ', $mycontent, $excerpt_length + 1);
            if(count($words) > $excerpt_length) :
                array_pop($words);
                array_push($words, '...');
                $mycontent = implode(' ', $words);
            endif;
            $mycontent = '

‘ . $mycontent . ‘

‘; return $mycontent; } ?>

И замените стандартный вывод на свой:

< ?php echo my_excerpts(); ?>

Вывод списка запланированных/будущих постов

Вставьте этот в то место, где бы вы хотели вывести список запланированных к публикации постов. Изменить количество выводимых постов можно меняя число в запросе wp_query:

< ?php $my_query = new WP_Query('post_status=future&order=DESC&showposts=5'); if ($my_query->have_posts()) {
    while ($my_query->have_posts()) : $my_query->the_post();
        $do_not_duplicate = $post->ID; ?>
  • < ?php the_title(); ?>

< ?php endwhile; } ?>

Скриншот внешнего сайта без плагина

А вот простой способ сгенерировать и вывести скриншот любого сайта с помощью URL скрипта:

http://s.wordpress.com/mshots/v1/http%3A%2F%2Frusdigi.org%2F?w=500

Пример вы можете посмотреть по ссылке.
Вам, соответственно, нужно будет сменить rusdigi.org на нужный URL и задать ширину изменив значение 500.

Сброс пароля от админки WordPress

Что если вы забыли пароль от админки вашего блога или сайта на WordPress? Решение есть! Достаточно перейти в phpMyAdmin и выполнить следующий SQL запрос:

UPDATE `wp_users` SET `user_pass` = MD5('NEW_PASSWORD') WHERE `wp_users`.`user_login` =`YOUR_USER_NAME` LIMIT 1;

Ну и напоследок, если у вас имеется собственное серверное и коммутационное оборудование и вам необходимо разместить его в дата центре, взгляните на услуги дата центра. Компания готова предоставить место в собственных дата центрах — от нескольких юнитов и до целых стоек.



Запись опубликована в рубрике Советы и фиксы с метками , , , , , , , . Добавьте в закладки постоянную ссылку.

10 комментариев: WordPress: сборник php хаков для wordpress

  1. Шафиуллин Руслан говорит:

    Спасибо,многое не знал

  2. Тролльчёнок — мини-тролль говорит:

    Плюсую.

  3. Дмитрий говорит:

    Спасибо, особенно за RSS ленту       

  4. Уведомление: Wordpress и Twitter: хаки и плагины для Wordpress | RusDigi.org

  5. casper говорит:

    Слушайте столько интересного у вас , что не могу ни как уйти. Многое установил у себя. Здорово.

    • Гилязетдинов Руслан говорит:

      хорошо, что блог оказался вам полезным)

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *