Декабрь 2009

Отключение сообщения “Пожалуйста обновитесь”

Этот хак предназначен для отключения надоедливого сообщения на доске объявлений “Пожалуйста обновитесь”. Так происходит каждый раз как только WordPress выпускает новую версию. Многие производят обновление сразу, а некоторым администраторам этого не требуется и они специально сидят на старых версиях, утверждая что они шустрее работают и требуют меньших ресурсов от сервера. Ну у каждого свое мнение, возможно этот хак пригодится кому нибудь.

Вставьте следующий кусочек кода в файл function.php своей темы:

if ( !current_user_can( 'edit_users' ) ) {
  add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
  add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}

Исключаем ненужные страницы из поиска по блогу

Не очень красивое название получилось, объясню смысл более подробно. Возможно вам понадобиться чтобы поиск по блогу не трогал некоторые страницы, такие как about, контакты или реклама. Тогда мой совет пригодится вам.

Вставляем, приведенный ниже код в файл function.php вашей темы.

function SearchFilter($query) {
    if ($query->is_search) {
        $query->set('cat','2,21');
    }
    return $query;
}

add_filter('pre_get_posts','SearchFilter');

В примере указаны посты с номерами ID равными 2 и 21. Теперь эти посты не участвуют в поиске.

Подключение файлов JS и CSS

Данный хак полезен для разработчиков плагинов или виджет WordPress. Иногда требуется добавить такие файлы как CSS и Javascript в вашу тему. Но тут уже нужен либо доступ к файлу header.php темы, либо решение, приведенное мною. Далее напишу простой способ добавить что-либо в заголовке блога без редактирования header.php.

Принцип довольно прост, создаем функцию, которая будет печатать необходимые строки с указанием нужных файлов. Далее подключаем новую функцию к функции WordPress wp_head () с помощью add_action ().

function GetLastPostName_head()
{
    echo '<script type="text/javascript" src="'.get_settings('siteurl').'/wp-content/plugins/head/head.js"></script>';
    echo '<script type="text/javascript" src="'.get_settings('siteurl').'/wp-content/plugins/head/new.js"></script>';
}

add_action('wp_head', 'GetLastPostName_head');

Вывод первого изображения поста

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

В этой статье напишем функцию для получения первого изображения из поста. Снова откроем файл function.php и добавим немного кода:

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //изображение по умолчанию
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

Теперь можно вызывать эту функцию в цикле и показывать первое изображение.

<?php echo catch_that_image() ?>

Подсчет слов в статье

Как то понадобилось мне реализовать подсчет слов в статье. Сейчас опишу функцию, которая считает количество слов, возможно кому-то пригодится.

Открываем файл function.php вашей темы и добавляем следующий код в нее:

function wcount(){
    ob_start();
    the_content();
    $content = ob_get_clean();
    return sizeof(explode(" ", $content));
}

Теперь можно вызвать эту функцию в loop и получить количество слов в текущем посте.

<?php echo wcount(); ?>
Поиск
Облако тегов
Архив

Вы просматриваете архив блога WP-Simple за Декабрь 2009 .

Счетчики