wordpress — полезные надстройки

Часто требуется как либо изменить админку движка WORDPRESS или просто хочется настроить сайт под себя. Есть несколько полезных дополнений.
WordPress

Добавить код в конце /wp-content/themes/ваш_шаблон/functions.php.
1. Удаляем лишнее со страницы:

function clear_setup () {
remove_action( 'wp_head', 'feed_links', 2 ); // Удаляет ссылки RSS-лент записи и комментариев
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Удаляет ссылки RSS-лент категорий и архивов
remove_action( 'wp_head', 'rsd_link' ); // Удаляет RSD ссылку для удаленной публикации
remove_action( 'wp_head', 'wlwmanifest_link' ); // Удаляет ссылку Windows для Live Writer
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0); // Удаляет короткую ссылку
remove_action( 'wp_head', 'wp_generator' ); // Удаляет информацию о версии WordPress
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Удаляет ссылки на предыдущую и следующую статьи
// отключение WordPress REST API
remove_action( 'wp_head', 'rest_output_link_wp_head' ); 
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
// устаревшие функции
// используйте только для WordPress до версии 3.2 включительно 
if ( get_bloginfo('version') < = '3.2' ) {
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Удаляет ссылки на предыдущую и следующую статьи
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', 'rel_canonical'); //Удаляет каноническую ссылку
add_filter( 'show_admin_bar', '__return_false' ); //Убрать панель в админке
remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); // Убрать скрипты emoji
remove_action( 'wp_print_styles', 'print_emoji_styles' ); // Убрать стили emoji
}
add_action('after_setup_theme', 'clear_setup');

2. Скрытие панели от всех, кроме админов:

function my_function_admin_bar($content) {
return ( current_user_can("administrator") ) ? $content : false;
}
add_filter( 'show_admin_bar' , 'my_function_admin_bar');

3. Добавление и удаление ссылок в верхней панели:

function my_admin_bar_render() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'my_admin_bar_render' );

Как видно из кода, чтобы удалить определенные меню из панели достаточно знать их обозначения. Полный список этих меню можно найти в файле /wp-includes/admin-bar.php
Для добавления в панель ссылок, код должен быть немного сложнее.
Например, чтобы добавить в меню «Новый материал» ссылку на «Медиафайлы»:

function my_admin_bar_render() {
	global $wp_admin_bar;
	$wp_admin_bar->add_menu( array(
		'parent' => 'new-content', //'false' для корневого меню
					   //или ID нужного меню
		'id' => 'new_media', // ID ссылки
		'title' => __('Media'), //заголовок ссылки
		'href' => admin_url( 'media-new.php') //имя файла	
	));
}
add_action( 'wp_before_admin_bar_render', 'my_admin_bar_render' );

4. Удаляем 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");

Удаляем 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');

Удаляем символы в конце кратких анонсов:

function new_excerpt_more($more) {
global $post;
return ' <a href="'. get_permalink($post->ID) . '">читать далее..</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Удаляем поле сайт из формы комментариев:

function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

5.

add_filter('jpeg_quality', function($arg){return 100;}); //Отключение сжатия изображения.
remove_filter( 'the_content', 'wpautop' ); // Отключаем автоформатирование в полном посте
remove_filter( 'the_excerpt', 'wpautop' ); // Отключаем автоформатирование в кратком(анонсе) посте
remove_filter('comment_text', 'wpautop'); // Отключаем автоформатирование в комментариях
remove_action('set_comment_cookies', 'wp_set_comment_cookies'); //Отключение куки в комментах

6. Установка ограничения использования оперативной памяти:

define('WP_MEMORY_LIMIT', '32M');

7. Использование внешнего jQuery на сайте (кроме админки):

if (!is_admin()) {
 wp_deregister_script('jquery');
 wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"), false);
 wp_enqueue_script('jquery');
}

8. Валидные html5 скрипты:

# удалить атрибут type у scripts и styles
add_filter('style_loader_tag', 'sj_remove_type_attr', 10, 2);
add_filter('script_loader_tag', 'sj_remove_type_attr', 10, 2);
add_filter('wp_print_footer_scripts ', 'sj_remove_type_attr', 10, 2);
function sj_remove_type_attr($tag) {
    return preg_replace( "/type=['\"]text\/(javascript|css)['\"]/", '', $tag );
}

:-)

Скажите свое мнение

ваш email не публикуется. обязательно *

;-) :yawn: :whew: :toivo: :tmi: :time: :thinking: :talking: :sweating: :swear: :sun: :star: :smoke: :smirk: :sleepy: :skype: :shock: :shake: :rofl: :rain: :punch: :puke: :poolparty: :pizza: :phone: :party: :oops: :nod: :no: :ninja: :neutral: :nerd: :music: :muscle: :mrgreen: :movie: :mooning: :mmm: :middlefinger: :makeup: :mail: :mad: :lol: :lipssealed: :kiss: :itwashtme: :inlove: :idea: :hi: :heidy: :heart: :headbang: :happy: :handshake: :giggle: :fubar: :flower: :evilgrin: :emo: :dull: :drunk: :drink: :doh: :devil: :dance: :cry: :cool: :coffie: :clapping: :cash: :call: :cake: :bug: :brokenheart: :bow: :blush: :beer: :bear: :bandit: :arrow: :angry: :angel: :^) :???: :?: :-| :-o :-P :-D :-) :-( :!:

 

*

code

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.