Wordpress: плюшки файла functions.php ))

Красавчег
На сайте с 01.06.2011
Offline
25
936

Собственно, при разработке шаблонов для Wordpress и сайтов на этой CMS собираются своеобразные плюшки, которые потом часто используются. Решил поделиться. Думаю для новичков это будет полезно, да и сам)) не забуду и не потеряю. Все коды вставляются в файл functions.php в папке установленной темы.

Итак, что у нас сегодня:

1. Удаляем всякую байду из хедера страницы, типа версии вашего вордпресса, дополнительных ссылок на RSS, ссылок для всяких сервисов типа Really Simple Discovery, программ Windows Live Writer и т.п. чепуху, которая нам не нужна и использоваться не будет.

# удаляем всякую байду из head страницы
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );
remove_action( 'wp_head', 'wp_generator' );

2. Удаляем всплывающие подсказки (тег title="") типа: "Просмотреть все записи в рубрике…" из ссылок на категории и теги. Выглядят они достаточно глупо, особенно если мы делаем не блог, а например корпоративный сайт, портфолио и т.п.

# удаляем title из ссылок категорий и тегов
function removeTitle($str){
$str = preg_replace("/title=\".*\"/", '', $str);
return $str;
}
add_filter("wp_list_categories", "removeTitle");
add_filter("wp_list_pages", "removeTitle");
add_filter("the_category", "removeTitle");

3. Удаляем все HTML теги из комментариев, пусть любители) втиснуть ссылку в комментарий отдохнут. Кстати, в интернете широко известен другой способ, но он html-код не удаляет, а тупо делает его в комментариях простым текстом. Меня это не прикалывает, этот вариант - удаляет все теги полностью.

// удаляем HTML в комментариях при их добавлении.
function preprocess_comment_striptags($commentdata) {
$commentdata['comment_content'] = strip_tags($commentdata['comment_content']);
return $commentdata;
}
add_filter('preprocess_comment', 'preprocess_comment_striptags');

// удаляем HTML в комментариях при показе, если на сайте уже есть комменты с ссылками и т.п.
function comment_text_striptags($string) {
return strip_tags($string);
}
add_filter('comment_text', 'comment_text_striptags');
...говорю, что думаю
Красавчег
На сайте с 01.06.2011
Offline
25
#1

4. Убираем дурацкие символы [...] в конце кратких анонсов на главной, категориях, архивах, результатах поиска и т.п. (к слову, такие киксы даже у флагманов http://ru.wordpress.org/ - прокрутить страницу вниз.) Собственно, мы их не просто убиваем, а меняем на симпатичную ссылку "читать далее.."

# удаляем дурацкие символы в конце кратких анонсов
function new_excerpt_more($more) {
global $post;
return ' <a href="'. get_permalink($post->ID) . '">читать далее..</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

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

# выводим время генерации, запросы и потребление памяти
function usage(){
printf( ('SQL запросов:%d. Время генерации:%s сек. Потребление памяти:'), get_num_queries(), timer_stop(0, 3) );
if ( function_exists('memory_get_usage') ) echo round( memory_get_usage()/1024/1024, 2 ) . ' mb ';
}
add_filter('admin_footer_text', 'usage');
add_filter('wp_footer', 'usage');

6. Удаляем поле "сайт" из формы комментариев. Еще один гвоздик в гроб любителей тискануть ссылку на свой гс. Да я и сам)) хоть и очень редко где-то что-то комментирую, но увидев поле "ваш сайт", как говорится, трудно пройти)) мимо. Так что убираем, нафиг, это искушение:

# удаляем поле сайт из формы комментариев
function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');
[Удален]
#2

Это, конечно, все полезно и интересно, но именно этих советов тучи куч в выдаче и на "гуру-сайтах", смысл это постить здесь?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий