АртБухта

Самая интересная и полезная информация

10 исключительных WordPress хаков

Опубликовано Ar4i октября - 28 - 2009Один комментарий

Одной из причин, почему люди любят WordPress является ее большая гибкость. You  Вы можете изменить внешний вид блога с помощью тем, а также расширить его функциональность с помощью подключаемых модулей. И последнее, но не менее важное — вы можете полностью раскрыть функционал Wordpress с помощью хаков. Давайте рассмотрим 10 из них, хаки подробно описаны и дополнены исходным кодом.

1. Создание TinyURL на лету

clip_image001

Проблема. Из-за того что Twitter cтал социальной интернет революцией, многие блоггеры и пользователи Twitter нуждаются в публикации постов, которые им понравились в Twitter. В любом случае вручную создавать TinyURL является не самым рациональным методом. Как вы уже знаете, Twitter как и другие социальные системы могут привести на ваш блог много трафика, так что в ваших интересах давать короткие ссылки вашим читателям.

Решение. Используйте этот метод в несколько несложных шагов:

  1. Откройте ваш functions.php файл.
  2. Вставте следующий код в этот файл:
    1. function getTinyUrl($url) {
    2.     $tinyurl = file_get_contents
    3.     ("http://tinyurl.com/api-create.php?url=".$url);
    4.     return $tinyurl; }
  3. Откройте ваш single.php файл и вставьте следующий код в цикл:
    1. <?php<br />  $turl = getTinyUrl(get_permalink($post->ID));<br />  echo 'Tiny Url for this post: <a href="'.$turl.'">'.$turl.'</a>'<br />?>
  4. Все готово. Каждый ваш пост теперь имеет свой собственный TinyURL, готовый для Twitterа!

Объяснение кода. Популярный сервис TinyURL обеспечивает быстрое API для создания коротких ссылок на лету. Когда вы передаете ссылку в http://tinyurl.com/api-create.php, API мгновенно показывает на экране короткую версию введенной ссылки.

Используя PHP функцию file_get_contents (), мы можем ее получить и присвоить переменной $tinyurl. Последняя часть кода получает ссылку на пост и передает как параметр для функции getTinyUrl (), которая была ранее создана.

Источник:

2.Список предстоящих сообщений

clip_image002

Проблема. Если у вас есть посты, которые вы готовите к публикации, тогда как насчет вывода их через список? Это заставит читателей ожидать того, что вы собираетесь опубликовать в ближайшие дни и поможет вам приобрести новых RSS подписчиков. Внедрить этот функционал в ваш WordPress блог не является тяжелой задачей.

Решение. Ничего сложного. Просто вставьте этот код в нужном месте вашей темы.

  1. <br /><div id="zukunft"><br /><div id="zukunft_header"><br /><br />Future events</div><br /><?php query_posts('showposts=10&amp;post_status=future'); ?><br /><?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?><br /><div><br /><br /><strong><?php the_title(); ?></strong><?php edit_post_link('e',' (',')'); ?><br /><span class="datetime"><?php the_time('j. F Y'); ?></span></div><br /><?php endwhile; else: ?><br /><br />No future events scheduled.<br /><br /><?php endif; ?></div>

Теперь ваши готовящиеся посты будут показываться в вашем блоге.

Объяснение кода. Этот код использует супер мощную WordPress функцию query_posts (), которая позволяет управлять WordPress цыклом.

Используется параметр post_status, который позволяет отобрать нужный пост в зависимости от его статуса (published, draft, pending или future). Параметр showposts используется для указания количества постов, которые вам нужно получить . Вы можете изменить это значение, если хотите чтоб показывалось меньше или больше десяти постов...

Источник:

3.  Создание «Отправить в Facebook»

clip_image003

Проблема. В первом хаке, мы заметили, что Twitter может увеличить трафик вашего блога. Другой сайт, который может увеличить ваш трафик — Facebook. В этом хаке мы рассмотрим как добавить кнопку “Отправить в Facebook” для вашего WordPress блога.

Решение.

  1. Откройте single.php файл в вашей теме.
  2. Скопируйте следующий код в цикл:
  1. <a href="http://www.facebook.com/sharer.php?u=<?php the_permalink ();?>&amp;t=<?php the_title (); ?>" target="blank">Share on Facebook</a>
  1. Так же, вы можете использовать функцию getTinyUrl () чтобы отправить короткую ссылку URL во Facebook:
  1. <?php $turl = getTinyUrl(get_permalink($post->ID)); ?><br /><a href="http://www.facebook.com/sharer.php?u=<?php echo $turl;?>&amp;t=<?php the_title (); ?>" target="blank">Share on Facebook</a>
  1. Это все!. Теперь ваши читатели смогут делиться вашими постами блога на Facebook!

Объяснение кода. Этот полезный хак легко понять: все что мы делаем, так это получаем ссылку на пост и заголовок и передаем их как параметры в http://www.facebook.com/sharer.php.

В альтернативном способе, мы использовали функцию getTinyUrl () (созданную в первом хаке) чтоб послать короткую URL не имея ссылки на пост.

Источник:

4. Создание временной странички для вашего блога

clip_image004

Проблема. Одна из особенностей Drupal, которая мне нравится — это возможность временно направлять посетителей на страницу “Under Construction” . К сожалению, WordPress не имеет такой возможности. Когда вы делаете апгрейд для своего блога, меняете темы или вносите какие-то поправки, вы не хотите чтоб посетители все это видели.

Решение. Чтобы решить эту проблему, мы используем силу. htaccess файла. Просто следуйте инструкциям ниже, чтобы начать работу.

  1. Создайте содержания страницы.
  2. Найти .htaccess файл (расположен в корневом каталоге вашей установленной WordPress) и создать его резервную копию.
  3. Откройте файл .htaccess файл для редактирования.
  4. Вставьте следующий код:
    1. RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L]
  5. Замените 123 \ .123 \ .123 \ .123 в строке 3 вашим адресом IP (не знаю его?).
  6. Теперь все посетители, кроме вас будете перенаправлены на временную страницу.
  7. Как только вы закончите настройку, обновление, переключения тем и т.д., снова откройте ваш .htaccess файлов и удалите (или закомментируйте) код перенаправления.

Объяснение кода. Путем замены 123.123.123.123 на собственный IP адрес , вы убедитесь, что вам по-прежнему разрешен просмотр вашего блога, в то время как другие будут перенаправлены на maintenance.html.

Источник:

5. Вывод подобных тем без плагинов.

clip_image005

Проблема. Один из известных способов удержать поситителей на вашем блоге дольше — выводить, чаще всего в конце статьи, подобные темы. Много плагинов сделают эту работу, но почему не ускорить работу вашего блога, сделав этот функционал по умолчанию?

Решение.

  1. Откройте single.php файл в вашей теме.
  2. Вставьте следующий код в цикл:
    1. <?php<br />//for use in the loop, list 5 post titles related to first tag on current post<br />$tags = wp_get_post_tags ($post->ID);<br />if ($tags) {<br />echo 'Related Posts';<br />$first_tag = $tags[0]->term_id;<br />$args=array (<br />'tag__in' => array ($first_tag),<br />'post__not_in' => array ($post->ID),<br />'showposts'=>5,<br />'caller_get_posts'=>1<br /> );<br />$my_query = new WP_Query ($args);<br />if ( $my_query->have_posts () ) {<br />while ($my_query->have_posts ()) : $my_query->the_post (); ?><br /><br /><a title="Permanent Link to <?php the_title_attribute (); ?>" rel="bookmark" href="<?php the_permalink () ?>"><?php the_title (); ?></a><br /><br /><?php<br />endwhile;<br />  }<br />}<br />?>
  3. Сохраните файл, а затем посмотрите на вашем блоге: автоматически выводятся подобные посты!

Объяснение кода. Этот хак использует метки для получения подобных тем. Первым делом – определить метки статьи. Если пост имеет метку(и), первая из них передается в запрос, который получает другие статьи с такой же меткой.

По умолчанию этот код выводит 5 похожих тем. Чтоб изменить это число, просто отредактируйте 9 строку кода.

Источник:

6.  Автоматически получать первое изображение ваших статей на главной странице

clip_image006

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

Решение. Этот хак довольно легко реализовать:

  1. Откройте файл functions.php вашей темы.
  2. Вставьте этот код. Не забудьте указать изображение по умолчанию в строке 10 (в случае, если ваша статья не имеет изображений).
    1. function catch_that_image() {<br />global $post, $posts;<br />$first_img = '';<br />ob_start();<br />ob_end_clean();<br />$output = preg_match_all('//i', $post->post_content, $matches);<br />$first_img = $matches [1] [0];<br />if(empty($first_img)){ //Defines a default image<br />$first_img = "/images/default.jpg";<br />}<br />return $first_img;<br />}
  3. Сохранить файл functions.php.
  4. На главной страничке вашего блога (index.php), вызовите функцию чтобы получить URL первого изображения статьи:
  1. <!--p echo catch_that_image()-->

Объяснение кода. Функция использует глобальную переменную $post чтоб обработать содержимое статьи регулярными выражениями. Если найдено изображение, то его URL возвращается функцией. Если нет, то возвращается URL картинки по умолчанию.

Источник:

7.  Изменение размеров изображения на лету

clip_image007

Проблема. Если вы используете превью на главной странице или даже изображения в самих статьях, то знаете как времезатратно и скучно менять размеры изображений. Так почему же не использовать мощь PHP?

Решение. Чтоб внедрить этот хак следуйте ниже описанному:

  1. Скачать этот скрипт и сохранить его на своем компьютере (я предполагаю, что вы уже назвали его timthumb.php).
  2. Создайте на сервере новую папку с именем scripts. Загрузите туда файл timthumb.php
  3. После этого, вы можете показывать картинки вот так:
  1. <img src="/scripts/timthumb.php?src=/images/whatever.jpg&amp;h=150&amp;w=150&amp;zc=1" alt="Screenshot" />

Другими словами, вы просто вызываете timthumb.php файл и передает ему изображение в качестве параметра. То же самое происходит с желаемыми параметрами ширины и высоты изображения.

Объяснение кода. Скрипт timthumb.php использует PHP GD библиотеку, которая позволяет динамически с помощью PHP производить операции с изображениями. GD установлена по умолчанию на всех серверах с PHP5. Если нет PHP5, вам следует проверить, установлена ли GD библиотека.

Timthumb.php получает параметры, которые вы ему передали (URL-адрес изображения, ширину и высоту) и использует его для создания нового изображения с вашими размерами.

Источник:

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

clip_image008

Проблема. Вывод популярных статей это хороший способ заставить посетителей оставаться дольше на вашем блоге. Много плагинов могут это сделать, но опять же, зачем использовать плагины, если можно заставить тему WordPress делать это автоматически?

Решение. Просто вставьте следующий код в любом нужном месте вашей темы (например, в sidebar.php). для изменения количества статей, просто замените “5″ на строке 3.

  1. <br /><h2>Popular Posts</h2><br /><ul><br /><!--p $result = $wpd-->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5");<br />foreach ($result as $post) {<br />setup_postdata($post);<br />$postid = $post->ID;<br />$title = $post->post_title;<br />$commentcount = $post->comment_count;<br />if ($commentcount != 0) { ?><br />     <li><a title="<?php echo $title ?>" href="<?php echo get_permalink ($postid); ?>"><br /><!--p echo $title--></a> {<!--p echo $commentcount-->}<br /><br /><!--p } }--></li><br /></ul><br />

Объяснение кода. Этот код выполняет SQL запрос к базе данных WordPress, используя $wpdb обьект, что бы получить 5 наиболее комментируемых статей. Результат внедрен в HTML список и отображен на экране.

Источник:

9. Подсветка искомого текста в результатах поиска

clip_image009

Проблема. Поисковая система WordPress часто критикуется за то что не совсем мощна. Одной из слабых сторон является то, что искомый текст никак не выделяется на фоне всего текста. Давайте с этим разберемся!

Решение.

  1. Откройте файл search.php найдите the_title () функцию.
  2. Замените его следующим кодом:
  1. echo $title;
  • Сейчас, перед добавленной строкой, добавить следующий код:
    1. <!--p<br />$title  = get_the_title();<br />$keys= explode(" ",$s);<br />$title  = preg_replace('/('.implode('|', $keys) .')/iu',<br />'<strong class="search-excerp-->\0',<br />$title);<br />?>
  • Сохраните файл search.php и откройте style.css. Добавьте следующий код в него:strong.search-excerpt { background: yellow; }Вот и все. Теперь лучше, не правда ли?Объяснение кода. Опять таки, спасают регулярные выражения. regexp обрабатывает содержимое $s ($s это переменная, которая содержит искомый текст) и автоматически добавляет элемент вокруг любого проявления $s.

    Осталось просто поправить файл style.css чтобы придать особый стиль и сделать искомый текст более наглядным для своих читателей.

    Источники:


    10. Отключить области для виджетов без редактирования файлов темы


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

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

    1. <strong class="”search-excerpt”"><!--p<br />add_filter( 'sidebars_widgets', 'disable_all_widgets' );<br /><br />function disable_all_widgets( $sidebars_widgets ) {<br />        if ( is_home() )<br />               $sidebars_widgets = array( false );<br />        return $sidebars_widgets;<br />}<br />--></strong>


    Объяснение кода. Функция disable_all_widgets использует условные метки WordPress (в этом примере, is_home (), но вы можете использовать любую условную метку) чтоб отключить все виджеты, если посетитель на определенной странице.Источник:


  • Один комментарий to “10 исключительных WordPress хаков”

    1. Esserssteable пишет:

      artbyhta.com — go to my favorites!!!

    Оставить комментарий

    ВИДЕО

    ТЕГИ


    ССЫЛКИ

    СЧЕТЧИКИ

    Каталог сайтов и ссылок. Каталог ресурсов на Promotion.SU Каталог блогов Blogdir.ru

    About Me

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

    Twitter

      Photos

      1-foto-ballonnen1-foto-benen1-foto-borsele-rode-jurk1-foto-brug1-foto-bushok1-foto-dijk1-foto-ferrieres-bos1-foto-heemstede-heuvel