• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Информация Плюшки файла functions.PHP от 24 ноября 2016 для Wordpress: 4.7 и выше

DzSoft

3T
Регистрация
13 Сен 2007
Сообщения
357
Реакции
295
Думаю старые функции уже можно закрывать. Ибо, что-то не работает уже с изменением и усовершенствованием WordPress (хорошо сказал :D).
Не много правил:
Тут выкладываются только плюшки
ВНИМАНИЕ!
все обсуждения, вопросы будут удалены и расценены, как спам.
БАН ДАЮ БЕЗ ПРЕДУПРЕЖДЕНИЯ СОГЛАСНО ПРАВИЛАМ ФОРУМА
Приступим.
 
Последнее редактирование:
// Удаление стилей woocommerce
// Убираем "//" с тех стилей и скриптов которые Вам не нужны.

/** Disable All WooCommerce Styles and Scripts Except Shop Pages*/
add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99 );
function dequeue_woocommerce_styles_scripts() {
if ( function_exists( 'is_woocommerce' ) ) {

# Styles
// wp_dequeue_style( 'woocommerce-general' );
// wp_dequeue_style( 'woocommerce-layout' );
// wp_dequeue_style( 'woocommerce-smallscreen' );
// wp_dequeue_style( 'woocommerce_frontend_styles' );
//wp_dequeue_style( 'woocommerce_fancybox_styles' );
//wp_dequeue_style( 'woocommerce_chosen_styles' );
//wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
# Scripts
//wp_dequeue_script( 'wc_price_slider' );
// wp_dequeue_script( 'wc-single-product' );
//wp_dequeue_script( 'wc-add-to-cart' );
// wp_dequeue_script( 'wc-cart-fragments' );
//wp_dequeue_script( 'wc-checkout' );
// wp_dequeue_script( 'wc-add-to-cart-variation' );
// wp_dequeue_script( 'wc-single-product' );
// wp_dequeue_script( 'wc-cart' );
// wp_dequeue_script( 'wc-chosen' );
// wp_dequeue_script( 'woocommerce' );
//wp_dequeue_script( 'prettyPhoto' );
// wp_dequeue_script( 'prettyPhoto-init' );
// wp_dequeue_script( 'jquery-blockui' );
// wp_dequeue_script( 'jquery-placeholder' );
// wp_dequeue_script( 'fancybox' );
// wp_dequeue_script( 'jqueryui' );
}
}

// Еще чуток облегчим жизнь для woocommerce

// убрать лупу с продукта
function remove_image_zoom_support() {
remove_theme_support( 'wc-product-gallery-zoom' );
}
add_action( 'wp', 'remove_image_zoom_support', 100 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );


// убрать в наличии
function my_wc_hide_in_stock_message( $html, $text, $product ) {
$availability = $product->get_availability();
if ( isset( $availability['class'] ) && 'in-stock' === $availability['class'] ) {
return '';
}
return $html;
}
add_filter( 'woocommerce_stock_html', 'my_wc_hide_in_stock_message', 10, 3 );

//убрать лупу с товара
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
 
Последнее редактирование:
Сейчас еще работает большинство плюшек)
pingback можно убирать смело, если вы не собираетесь работать с админкой через сторонние инструменты, и всякий такой треш, который по сути не нужен:

remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'rel_canonical' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
remove_action('rest_api_init', 'wp_oembed_register_route');
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'start_post_rel_link', 10 );
remove_action( 'wp_head', 'parent_post_rel_link', 10 );
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10 );

Кстати, а вы оставляете эмоджи? Я пробовал их удалять - сразу повышает и скорость загрузки и вроде никак не влияет на работоспособность

function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );
 
Кстати, а вы оставляете эмоджи?
Эмоджи нужно удалять. Они нужны только для неподдерживаемых старых устройств. Сейчас любой телефон или десктопная ОС имеет встроенные эмоджи.
 
Часто требуется выводить на сайте картинки, загруженные в кастомные поля. Чтобы контент-менеджеру не париться с их обрезкой, оптимизирую вывод картинок так:
Для просмотра ссылки Войди или Зарегистрируйся
2) Беру обёртку для плагина Для просмотра ссылки Войди или Зарегистрируйся. Она позволяет возвращать данные по картинке массивом с гарантированно заполненными ключами, а также генерировать разметку img-тега со своими атрибутами
3) Пишу что-то вроде

PHP:
$team_img = get_kama_img(<id изображения>, array(
  'width' => 720,
  'height' => 200,
  'crop' => false,
  'html' => true,
  )
);

На выходе в $team_img у меня готовый <img>-тег с обрезанным изображением

И вот ещё заготовка из загашника. Я шорткодами делаю вставку разных блоков на странице, обычно они имеют div-враппер.
WP оборачивает шорткод тегами <p></p>, в итоге браузер неверно строит разметку + получаем ошибки валидатора.
Найденные в интернете решения не помогли, поэтому собрал свою регулярку:

PHP:
/**
 * Удалим оборачивание шорткода в <p>
 */
function my_shortcode_format($content){
    // можно добавить транзитный кэш
    // filters
    if ($content === '') return $content;
    $content = preg_replace(array(
        '/(<\/div>)(\s*)(<\/p>)/',
        '/(<p([\sa-zA-Z0-9\;\:\=\"\'\-]*)>)(\s*)(<div)/',
        '/<p>(\s*)\[/',
        '/\](\s*)<\/p>/',
    ), array(
        '</div>',
        '<div',
        '[',
        ']',
    ), $content);
    return $content;
}
add_filter('the_content','my_shortcode_format');
 
Отключаем напоминание об обновлениях некоторых плагинов, на примере плагина filebird-pro :

PHP:
//Disable plugin update notification

function filter_plugin_updates( $value ) {
    unset( $value->response['filebird-pro/filebird.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
 
Назад
Сверху