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

DzSoft

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

tahtor

Создатель
Регистрация
11 Июл 2012
Сообщения
23
Реакции
16
Full Gutenberg cleanup for latest WordPress 5.0.3

Код:
//disable Gutenberg
add_filter('use_block_editor_for_post', '__return_false');
function remove_gutenberg_styles()
{
    wp_dequeue_style('wp-block-library');
    wp_dequeue_style('wp-block-library-theme');
}
add_action('wp_print_styles', 'remove_gutenberg_styles', 10);
 

lolitomon

Писатель
Регистрация
10 Фев 2017
Сообщения
9
Реакции
6
Плюшка как добавить свою меру измерения в цену.
1) добавьте код
add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 );
function custom_price_html( $price, $product ){
$meta_values = get_post_meta( get_the_ID(), 'unit',true );

$price = $price.'/'.$meta_values;

return apply_filters( 'woocommerce_get_price', $price );}

2) при создание товара создать произвольное поле с именем "unit" и в его поле добавить свою меру измерения.

как постоянно не парится и не переписывать functions.php при каждом обновления вордпресс.

1) мы создадим отдельны плагин и назовем его Functions.PHP

2) вставим вот этот код
<?php
/* ====================================
* Plugin Name: Functions.PHP
* Description: Мой новый functions.php
* Version: 1.0
* ==================================== */






//до этого места можно добавлять свои плюшки или еще какие коды относящиеся к functions.php
?>

(P.s по сколку это идет как плагин а не оригинал functions.php он будет подгружаться не в первую очередь, однако все ваши изменения будет работать как и если бы вы добавили их в оригинал.
ниже создал рабочий плагин удачи всем!
 

Вложения

  • functions.php.zip
    752 байт · Просмотры: 7
Последнее редактирование модератором:

romas6ka

Писатель
Регистрация
24 Апр 2016
Сообщения
3
Реакции
0
Как сделать сортировку в админ панели пользователей по last name?
 

etreyo

Постоялец
Регистрация
7 Ноя 2016
Сообщения
83
Реакции
68
Добавить столбик в таблице продуктов для админки - "Видимость" товара (скрытый или видимый).
PHP:
add_filter( 'manage_edit-product_columns', 'admin_vidimost_tovara' );
function admin_vidimost_tovara( $columns ){
   $columns['visibility'] = 'Visibility';
   return $columns;
}
add_action( 'manage_product_posts_custom_column', 'admin_vidimost_tovara_content', 10, 2 );
function admin_vidimost_tovara_content( $column, $product_id ){
    if ( $column == 'visibility' ) {
        $product = wc_get_product( $product_id );
      echo $product->get_catalog_visibility();
    }

Пример использования уведомление в том случае, если в корзине товаров на недостаточную сумму.
PHP:
wc_print_notice(
    sprintf('Учитывая карантин, магазины закрыты, но мы продолжаем работать онлайн. Минимальная сумма заказа %s. Бесплатная доставка! ' ,
        wc_price( $minimum_amount )
    ), 'notice');
 
Последнее редактирование модератором:

yaponskky

Постоялец
Регистрация
23 Авг 2018
Сообщения
54
Реакции
7
как постоянно не парится и не переписывать functions.php при каждом обновления вордпресс.

1) мы создадим отдельны плагин и назовем его Functions.PHP

2) вставим вот этот код
<?php
/* ====================================
* Plugin Name: Functions.PHP
* Description: Мой новый functions.php
* Version: 1.0
* ==================================== */






//до этого места можно добавлять свои плюшки или еще какие коды относящиеся к functions.php
?>

(P.s по сколку это идет как плагин а не оригинал functions.php он будет подгружаться не в первую очередь, однако все ваши изменения будет работать как и если бы вы добавили их в оригинал.
ниже создал рабочий плагин удачи всем!


можно еще child тему использовать

всем спасибо, забрал массу плюшек, добавлю пару из своих записей:


1) крон в вп срабатывает постоянно при генерации страницы, много посетителей - много раз срабатывает крон, лечится так:

Код:
//в впконфиг
define('DISABLE_WP_CRON', 'true');

крон на хостинге:
/usr/bin/wget -O /dev/null "https://SITE.COM/wp-cron.php?doing_wp_cron" --no-check-certificate


2) полное отключение rss, в теме было, но частичное, это именно убирает совсем
Код:
// Compleatly disable RSS and Atom feeds for WordPress websites
/**
* Redirect to the homepage all users trying to access feeds.
*/
function disable_feeds() {
  wp_redirect( home_url() );
  die;
}

// Disable global RSS, RDF & Atom feeds.
add_action( 'do_feed',      'disable_feeds', -1 );
add_action( 'do_feed_rdf',  'disable_feeds', -1 );
add_action( 'do_feed_rss',  'disable_feeds', -1 );
add_action( 'do_feed_rss2', 'disable_feeds', -1 );
add_action( 'do_feed_atom', 'disable_feeds', -1 );

// Disable comment feeds.
add_action( 'do_feed_rss2_comments', 'disable_feeds', -1 );
add_action( 'do_feed_atom_comments', 'disable_feeds', -1 );


// Prevent feed links from being inserted in the <head> of the page.
add_action( 'feed_links_show_posts_feed',    '__return_false', -1 );
add_action( 'feed_links_show_comments_feed', '__return_false', -1 );
remove_action( 'wp_head', 'feed_links',       2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );


Код:
//Remove JQuery migrate
function remove_jquery_migrate( $scripts ) {
   if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
        $script = $scripts->registered['jquery'];
   if ( $script->deps ) {
// Check whether the script has any dependencies
        $script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
}
}
}
add_action( 'wp_default_scripts', 'remove_jquery_migrate' );
 
Последнее редактирование модератором:

byura

Хранитель порядка
Регистрация
29 Янв 2007
Сообщения
644
Реакции
725
Ну и еще простой способ добавить кнопку "Поделиться" не прибегая к плагинам
PHP:
add_filter( 'the_content', 'grpd_post_sharing' );
function grpd_post_sharing($content) {
    $yashare = '<script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script>
    <script src="//yastatic.net/share2/share.js"></script>
    <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,evernote,pocket,viber,whatsapp,skype,telegram" data-counter=""></div>';
    if (is_single())
        return $content . $yashare; // если нужно выводить кнопки в начале, поменяйте 2 переменные местами
        else return $content; // проверка для остальных типов страниц
}
подскажите как добавить для страниц
 

etreyo

Постоялец
Регистрация
7 Ноя 2016
Сообщения
83
Реакции
68
Скрыть поле для комментариев на странице Checkout. Поскольку процесс заказа и обработка заказов запускаются автоматически, клиенты часто пишут замечания о доставке, которые так или иначе не напечатанные на этикетке посылки:

Код:
add_filter( 'woocommerce_checkout_fields' , 'hide_note_woocommerce_checkout' );
function hide_note_woocommerce_checkout( $fields ) {
     unset($fields['order']['order_comments']);
     return $fields;
}

Дополнительное ссылки, встроенное в панель инструментов "admin-bar" администратора:
Код:
function custom_adminbar_link($wp_admin_bar) {
    $args = array(
        'id' => 'fulfillment',
        'title' => 'Новое меню',
        'href' => 'https://ваш линк',
        'meta' => array(
            'class' => 'fulfillment',
            'title' => 'Новое меню',
            'target' => '_blank'
            )
    );
    $wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'custom_adminbar_link', 999);
 

metal-stroi-komplekt

Гуру форума
Регистрация
23 Дек 2012
Сообщения
187
Реакции
71
как постоянно не парится и не переписывать functions.php при каждом обновления вордпресс.
а с какого года вордпресс при обновлений переписывает этот файл? надеюсь,что вы про обновление шаблона,а не движка, а то сейчас начинашки начнут волосы на голове рвать, по пустому фактически поводу...
 

Xe-Xe

Создатель
Регистрация
15 Янв 2009
Сообщения
12
Реакции
6
Как сделать сортировку в админ панели пользователей по last name?

PHP:
add_filter( 'manage_users_sortable_columns', function( $columns ) {
    $columns['FirstName'] = 'FirstName';
    $columns['LastName'] = 'LastName';
    return $columns;
} );

add_filter( 'manage_users_columns', function( $columns ) {
    $columns = array_slice( $columns, 0, 3, true ) + [
        'FirstName' => 'First Name',
        'LastName' => 'Last Name',
    ] + array_slice( $columns, 3, null, true ) ;
    return $columns;
} );

add_filter( 'manage_users_custom_column', function( $value, $column_name, $user_id ) {
    switch( $column_name ) {
        case 'FirstName':
            $value = get_user_meta( $user_id, 'first_name', true );
            break;
        case 'LastName':
            $value = get_user_meta( $user_id, 'last_name', true );
            break;
    }
    return $value;
}, 10, 3 );

add_filter( 'users_list_table_query_args', function ( $args ) {
    if ( 'FirstName' === ( $args['orderby'] ?? null ) ) {
        $args['orderby'] = 'meta_value';
        $args['meta_key'] = 'first_name';
    }
    if ( 'LastName' === ( $args['orderby'] ?? null ) ) {
        $args['orderby'] = 'meta_value';
        $args['meta_key'] = 'last_name';
    }
    return $args;
} );
 
Сверху