Коллекция полезных снипетов (кодов) / хуков для файла functions.php сайта на WordPress

Подборка полезного кода для файла functions.php используемого шаблона WordPress

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

Файл functions.php – это главный файл вашей темы (шаблона), содержащий в себе различные функции, которые расширяют функциональность вашего сайта на WordPress. Важно отметить, что этот файл работает как плагин и автоматически загружается как на внешней, так и на внутренней части вашего сайта. Его основное предназначение – определять функции, классы, операторы и фильтры, которые будут использоваться другими файлами вашей темы.

Иными словами, functions.php является мощным инструментом для расширения и настройки функционала WordPress и вашей темы.

Полезные хуки для работы с WordPress: важные моменты, которые вы должны учесть, при работе с этой популярной платформой. Среди них события, фильтры и, конечно же, полезный PHP-код, который может пригодиться вам при разработке и настройке вашего сайта на WordPress.

Коллекция полезных сниппетов (кодов): это настоящая кладезь решений для часто встречающихся задач при создании или настройке темы для вашего сайта. Вам необходимо просто разместить соответствующий код в файле functions.php вашей темы.

Кроме того, вы можете создать отдельный .php файл, поместить в него код и затем подключить этот файл в functions.php вашей темы с помощью следующей команды:

// Подключаем сниппеты

require_once ‘functions-snippets.php’;

Такой подход позволит вам более организованно и структурированно управлять вашими сниппетами кода, делая вашу тему более читаемой и удобной для разработки.

 

Фронтэнд. Полезные хуки для functions.php

1. Примеры полезного кода для заголовков Фронтэнд:

Ваш заголовок — это лицо вашего контента. Используя следующие сниппеты кода, вы можете сделать ваши заголовки более динамичными и привлекательными:

// Пример изменения цвета заголовка

function custom_title_color($title) { return ‘<span style=»color: #ff6600;»>’ . $title . ‘</span>’; } add_filter(‘the_title’, ‘custom_title_color’);

// Простой способ добавить кнопку «Поделиться» не прибегая к плагинам

add_filter(‘the_content’, ‘post_sharing’);
function post_sharing($content) {
if (is_single()) {
// Добавляем стили и скрипты в очередь
wp_enqueue_style(‘jssocials’, ‘https://cdn.jsdelivr.net/jquery.jssocials/1.4.0/jssocials.css’);
wp_enqueue_style(‘jssocials-theme’, ‘https://cdn.jsdelivr.net/jquery.jssocials/1.4.0/jssocials-theme-flat.css’);
wp_enqueue_script(‘jssocials’, ‘https://cdn.jsdelivr.net/jquery.jssocials/1.4.0/jssocials.min.js’, array(‘jquery’), null, true);

// Генерируем код кнопок
$share = ‘
<div id=»shareIcons»></div>
<script>
jQuery(document).ready(function($) {
$(«#shareIcons»).jsSocials({
showLabel: false,
showCount: false,
shares: [«email», «twitter», «facebook», «googleplus», «linkedin», «pinterest», «stumbleupon», «whatsapp»]
});
});
</script>’;

// Вставляем код кнопок в контент
return $content . $share;
} else {
return $content;
}
}

Админка (Бэкенд). Полезные хуки для functions.php

2. Полезные хуки для functions.php:

Файл functions.php — это место, где вы можете внести важные изменения в функциональность вашего сайта. Вот несколько хуков, которые помогут вам настроить его:

// Пример добавления поддержки миниатюр

(featured images) для постов add_theme_support(‘post-thumbnails’); // Пример отключения автоматической вставки параграфов в контенте remove_filter(‘the_content’, ‘wpautop’);

// Отключение всех обновлений (полезно на сайтах, где не планируется поддержка, например, сдавая проект заказчику)

function remove_core_updates(){
global $wp_version;return(object) array(‘last_checked’=> time(),’version_checked’=> $wp_version,);
}
add_filter(‘pre_site_transient_update_core’,’remove_core_updates’);
add_filter(‘pre_site_transient_update_plugins’,’remove_core_updates’);
add_filter(‘pre_site_transient_update_themes’,’remove_core_updates’);

// Разрешаем загружать svg картинки через загрузку медиа файлов

function add_file_types_to_uploads($file_types){
$new_filetypes = array();
$new_filetypes[‘svg’] = ‘image/svg+xml’;
$file_types = array_merge($file_types, $new_filetypes );
return $file_types;
}
add_action(‘upload_mimes’, ‘add_file_types_to_uploads’);

// Отключить Гутенберг без плагина

add_filter(‘use_block_editor_for_post’, ‘__return_false’);

 

 

Хаки для тулбара (админ бара) WordPress

3. Хаки для тулбара (админ бара) WordPress:

Админ бар — это ваш надежный спутник при работе в административной части WordPress. С помощью нижеприведенных хуков вы можете настроить его в соответствии с вашими потребностями:

// Пример скрытия админ бара для всех, кроме администраторов

function hide_admin_bar() { if (!current_user_can(‘administrator’)) { show_admin_bar(false); } } add_action(‘after_setup_theme’, ‘hide_admin_bar’);

// Дополнительное ссылки, встроенные в панель инструментов «admin-bar» администратора:

function custom_adminbar_link($wp_admin_bar) {
$args = array(
'id' => 'newlink',
'title' => 'Новое меню',
'href' => 'https://ваш линк',
'meta' => array(
'class' => 'newlink',
'title' => 'Новое меню',
'target' => '_blank'
)
);
$wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'custom_adminbar_link', 999);

Хаки для Woocommerce на WordPress

4. Хаки для интернет-магазина Woocommerce на WordPress:

// Заменяем стоимость нулевой цены словом

add_filter( ‘woocommerce_get_price_html’, ‘product_price_free_zero_empty’, 100, 2 );

function product_price_free_zero_empty( $price, $product ){
if ( » === $product->get_price() || 0 == $product->get_price() ) {
$price = ‘<span class=»woocommerce-Price-amount amount»>Цену уточняйте</span>’;
}
return $price;
}

// Товары которых нет в наличии в WooCommerce показывать в конце списка:

class iWC_Orderby_Stock_Status {
public function __construct() {
if (in_array(‘woocommerce/woocommerce.php’, apply_filters(‘active_plugins’, get_option(‘active_plugins’)))) {
add_filter(‘posts_clauses’, array($this, ‘order_by_stock_status’), 2000);
}
}
public function order_by_stock_status($posts_clauses) {
global $wpdb;
if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag())) {
$posts_clauses[‘join’] .= » INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) «;
$posts_clauses[‘orderby’] = » istockstatus.meta_value ASC, » . $posts_clauses[‘orderby’];
$posts_clauses[‘where’] = » AND istockstatus.meta_key = ‘_stock_status’ AND istockstatus.meta_value <> » » . $posts_clauses[‘where’];
}
return $posts_clauses;
}
}
new iWC_Orderby_Stock_Status;

// Надпись на кнопке «Добавить в корзину» -> «Заказать»

add_filter( ‘woocommerce_product_single_add_to_cart_text’, ‘woo_new_text_for_butt_cart’ );
function woo_new_text_for_butt_cart() {
return ‘Заказать’;
}

// Добавляем «грн» вместо «₴» для украинского рынка:

add_filter( ‘woocommerce_currencies’, ‘add_my_currency’ );
function add_my_currency( $currencies ) {
$currencies[‘UAH’] = __( ‘Українська гривня’, ‘woocommerce’ );
return $currencies;
}

add_filter(‘woocommerce_currency_symbol’, ‘add_my_currency_symbol’, 10, 2);
function add_my_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case ‘UAH’: $currency_symbol = ‘грн’; break;
}
return $currency_symbol;
}

// Убираем выбор опции на странице товара (остаётся только если не установлен атрибут по умолчанию)

add_filter( ‘woocommerce_dropdown_variation_attribute_options_args’, ‘wc_remove_options_text’);
function wc_remove_options_text( $args ){
$args[‘show_option_none’] = false;
return $args;
}

// Кнопка «Продолжить покупки» в корзине возвращает на предыдущую страницу

function my_woocommerce_continue_shopping_redirect( $return_to ) {
return $_SERVER[‘HTTP_REFERER’];
}
add_filter( ‘woocommerce_continue_shopping_redirect’, ‘my_woocommerce_continue_shopping_redirect’, 20 );

// Чтобы на странице checkout спрятать лишние поля, не обязательно ставить плагины, достаточно добавить в functions.php. То что нужно оставить, комментируем или удаляем

add_filter(‘woocommerce_checkout_fields’,’bp_rename_field’);
function bp_rename_field ($fields){
unset($fields[‘billing’][‘billing_first_name’]);
unset($fields[‘billing’][‘billing_last_name’]);
unset($fields[‘billing’][‘billing_company’]);
unset($fields[‘billing’][‘billing_address_1’]);
unset($fields[‘billing’][‘billing_address_2’]);
unset($fields[‘billing’][‘billing_city’]);
unset($fields[‘billing’][‘billing_postcode’]);
unset($fields[‘billing’][‘billing_country’]);
unset($fields[‘billing’][‘billing_state’]);
unset($fields[‘billing’][‘billing_phone’]);
unset($fields[‘order’][‘order_comments’]);
unset($fields[‘billing’][‘billing_email’]);
unset($fields[‘account’][‘account_username’]);
unset($fields[‘account’][‘account_password’]);
unset($fields[‘account’][‘account_password-2’]);

return $fields;
}

 

Это всего лишь несколько примеров из нашей коллекции полезных сниппетов и хуков. Помните, что WordPress — это мощная платформа, и с правильными настройками она может работать так, как вам нужно. Надеемся, что эти советы и коды помогут вам сделать ваш сайт еще лучше! Делитесь в комментариях новыми полезными решениями, а так же сообщайте если какой-то код не работает.

Для расширения функционала вашего веб-сайта, оптимизации или веб-разработке нового обращайтесь к нашим специалистам.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии