Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Де знаходиться functions.php WordPress і його застосування

  1. Functions.php в WordPress
  2. Що краще використовувати - functions.php або плагін?
  3. Як додати функцію і приклади використання functions.php
  4. Плагін як альтернатива файлу functions.php
  5. Приклади: функції для functions.php
  6. Другий варіант оптимізації зображень
  7. Чи не виводити певні рубрики на головній сторінці сайту
  8. Видалення пробілів всередині анонсом і повним текстом - more
  9. Зміна шляху до сторінці автора - заміна author на user
  10. Відключення стандартного пошуку WordPress
  11. Приховати текст після конкретної дати
  12. Включити підтримку шорткодов в цитатах і пошуку
  13. Приховати атрибути в головному меню

Наша взаимовыгодная связь https://banwar.org/

Хочете розширити функціонал вашого сайту, внести коригування або просто підвищити продуктивність CMS WordPress? Багато власників сайтів на WordPress вирішують цю задачу додаванням невеликої коду в файл "functions.php" встановленої теми. Спробуємо розглянути моменти, плюси і мінуси даної процедури.

Functions.php в WordPress

Файл functions.php необхідний для правильної роботи теми, за допомогою нього можна розширити стандартні її функції і встановити деякі параметри ядра WordPress.

functions.php подгружается завжди при зверненні до сторінок сайту, під час AJAX запитів і при відвідуванні адміністративної панелі WordPress. Знаючи це, можна додавати свої php-функції або функції WordPress в файл functions.php для виконання необхідного функціоналу.

Де знаходиться файл functions.php: / wp-content / themes / названіе_вашей_теми /functions.php

Де знаходиться functions.php

Радий користувачів WordPress вважають, що додавання функцій безпосередньо в файл functions.php замість установки альтернативних по функціоналу плагінів - підвищують продуктивність їх сайту. На жаль це не так.

Що краще використовувати - functions.php або плагін?

Чим functions.php відрізняється від плагіна? Якщо пояснювати просто - то нічим.

Різниця «плагінів» і «functions.php» в призначенні і порядку виконання. Першим завантажується functions.php, плагіни завантажуються після, але можуть бути відключені через адмін-панель. functions.php ж завантажується завжди. Але якщо виконувати однаковий програмний код по засобом плагіна і functions, виконуватися вони будуть однакового і їх місце виконання ніяк не вплине на швидкість роботи сайту.

Частково на швидкість завантаження сайту впливає якість коду плагінів і функцій для functions.php

Процес підключення functions.php відбувається під час ініціалізації поточної теми, після підключення функцій WordPress.

Процес підключення functions.php

index.php wp-blog-header.php wp-load.php wp-config.php wp-settings.php // Підключаються самі базові функції (підключення до БД $ wpdb і система фільтрів) // Підключаються базові фільтри // SHORTINIT: зупинка завантаження, де є тільки саме базове: if (SHORTINIT) return false; // підключається все середовище WordPress: базові функції, фільтри // підключаються must-use плагіни, потім спрацьовує подія: do_action ( 'muplugins_loaded'); // підключаються активовані плагіни, потім спрацьовує подія: do_action ( 'plugins_loaded'); // встановлюються глобальні змінні: wp_the_query, wp_query, wp_rewrite, wp, wp_widget_factory, wp_roles ... do_action ( 'setup_theme'); // встановлюється поточна тема // підключається файл теми >>>>>>>>>>>> functions.php <<<<<<<<<<<< do_action ( 'after_setup_theme'); // подія, коли середовище WP, всі плагіни і тема повністю підключені, але на екран ще нічого не виведено: do_action ( 'init'); // перевірка статусу сайту для мультісайтового збірки // теж саме що init тільки після перевірки статусу (до цього рядка робота PHP може не дійти) do_action ( 'wp_loaded'); wp () // заповнює основний запит WP і всі глобальні змінні пов'язані з ним wp-includes / template-loader.php // підключає потрібний файл шаблону

Як додати функцію і приклади використання functions.php

Відкриваємо файл functions.php в улюбленому текстовому редакторі, наприклад Notepad ++.
Місцезнаходження файлу functions.php: / wp-content / themes / названіе_вашей_теми /functions.php
Якщо у вашій темі такого файлу немає, створіть його з назвою functions.php в папці вашого шаблону: / wp-content / themes / названіе_вашей_теми І скопіюйте в файл потрібний код функції.

Плагін як альтернатива файлу functions.php

Існує більш правильний спосіб додавати нові функції для вашого сайту. Необхідно додати порожній плагін для WordPress і активувати його. Потім в нього можна додавати нові функції, як раніше робили це c файлом functions.php.

Створіть новий файл з розширенням .php, наприклад: «functionsphp.php» з кодом:

<? Php / * ==================================== * Plugin Name: Functions.PHP * Description : Мій новий functions.php * Version: 1.0 * ==================================== * / function functionsphp_head_info () {echo "\ n <! - Плагін Functions.PHP активний -> \ n"; } Add_action ( 'wp_head', 'functionsphp_head_info');

Даний плагін завантажуємо по FTP в директорію плагінів WP: / wp-content / plugins /

Скопіюйте будь-які функції, які зазвичай позначаються як «вставити в functions.php» в ваш новий плагін. Після внесення змін активуйте плагін. Не забудьте вимикати плагін при додаванні нових рядків коду. Якщо після чергової функції сайт видає помилки, можливо ви порушували синтаксис коду або даний код не актуальний для вашої версії движка \ теми.

Для початківців розробників або для тих хто сам захоче написати функцію для WordPress є хороший інструмент: Generatewp

Приклади: функції для functions.php

Виведення інформації по розробці сайту в адмін-панелі

/ * Розробка сайту * / function true_change_admin_footer () {$ footer_text = array ( 'Спасибі вам за творчість з <a target="_blank" href="http://wordpress.org"> WordPress </a>', 'Розробка проекту <a target="_blank" href="https://youkit.ru" target="_blank"> Олександр Нікітін </a> '); return implode ( '& bull;', $ footer_text); } Add_filter ( 'admin_footer_text', 'true_change_admin_footer');

Відключення створення мініатюр - будь-яких розмірів зображень

/ * Не створювати мініатюри картинок * / add_filter ( 'intermediate_image_sizes', 'delete_intermediate_image_sizes'); function delete_intermediate_image_sizes ($ sizes) {return array_diff ($ sizes, array ( 'thumbnail', // мініатюра 'medium', // середній 'medium_large', // середній в адмінці 'large' // великий)); }

Ви так само можете додати видалення мініатюр для нестандартних тим WP, вказавши їх назви в лапках, через кому: 'img_100x100', 'img_300x300', 'img_baner',

Для відключення інших розмірів зображень шукаємо і видаляємо в плагінах і темі терміни починаються з коду:

add_image_size ()

Другий варіант оптимізації зображень

function replace_uploaded_image ($ image_data) {// if there is no large image: return if (! isset ($ image_data [ 'sizes'] [ 'large'])) return $ image_data; // paths to the uploaded image and the large image $ upload_dir = wp_upload_dir (); $ Uploaded_image_location = $ upload_dir [ 'basedir']. '/'. $ Image_data [ 'file']; // $ large_image_location = $ upload_dir [ 'path']. '/'.$image_data['sizes']['large']['file']; // ** This only works for new image uploads - fixed for older images below. $ Current_subdir = substr ($ image_data [ 'file'], 0, strrpos ($ image_data [ 'file'], "/")); $ Large_image_location = $ upload_dir [ 'basedir']. '/'.$current_subdir.'/'.$image_data['sizes']['large']['file']; // delete the uploaded image unlink ($ uploaded_image_location); // rename the large image rename ($ large_image_location, $ uploaded_image_location); // update image metadata and return them $ image_data [ 'width'] = $ image_data [ 'sizes'] [ 'large'] [ 'width']; $ Image_data [ 'height'] = $ image_data [ 'sizes'] [ 'large'] [ 'height']; unset ($ image_data [ 'sizes'] [ 'large']); return $ image_data; } Add_filter ( 'wp_generate_attachment_metadata', 'replace_uploaded_image');

Підключаємо популярні шрифти-іконки Font Awesome

/ * Шрифти Font Awesome * / function font_awesome () {if (! Is_admin ()) {wp_register_style ( 'font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3 /css/font-awesome.min.css '); wp_enqueue_style ( 'font-awesome'); }} Add_action ( 'wp_enqueue_scripts', 'font_awesome');

Відключаємо ревізії для економії ресурсів

/ * Не зберігати ревізії * / function my_revisions_to_keep ($ revisions) {return 0; } Add_filter ( 'wp_revisions_to_keep', 'my_revisions_to_keep');

Відкрити всі зовнішні посилання в новому вікні

/ * Відкрити всі зовнішні посилання в новому вікні * / function autoblank ($ text) {$ return = str_replace ( 'target = "_ blank" href =', 'target = "_ blank" target = "_ blank" href =', $ text ); $ Return = str_replace ( 'target = "_ blank" target = "_ blank" href = "https://youkit.ru', 'target =" _ blank "href =" https://youkit.ru', $ return); $ Return = str_replace ( 'target = "_ blank" href = "/', 'href =" /', $ return); $ Return = str_replace ( 'target = "_ blank" href = "#', 'href =" #', $ return); $ Return = str_replace ( 'target = "_blank">', '>', $ return); return $ return; } Add_filter ( 'the_content', 'autoblank'); add_filter ( 'comment_text', 'autoblank');

Додаємо підтримку Favicon для всіх популярних пристроїв

add_action ( 'wp_head', 'fphp_add_favicons'); function fphp_add_favicons () {?> <! - ваші favicon -> <link rel = "apple-touch-icon-precomposed" sizes = "57x57" href = "/ image / apple-touch-icon-57x57.png" /> <link rel = "apple-touch-icon-precomposed" sizes = "114x114" href = "/ image / apple-touch-icon-114x114.png" /> <link rel = "apple-touch-icon-precomposed "sizes =" 72x72 "href =" / image / apple-touch-icon-72x72.png "/> <link rel =" apple-touch-icon-precomposed "sizes =" 144x144 "href =" / image / apple- touch-icon-144x144.png "/> <link rel =" apple-touch-icon-precomposed "sizes =" 60x60 "href =" / image / apple-touch-icon-60x60.png "/> <link rel = "apple-touch-icon-precomposed" sizes = "120x120" href = "/ image / apple-touch-icon-120x120.png" /> <link rel = "apple-touch-icon-precomposed" sizes = "76x76" href = "/ image / apple-touch-icon-76x76.png" /> <link rel = "apple-touch-icon-precomposed" sizes = "152x152" href = "/ image / apple-touch-icon-152x152. png "/> <link rel =" icon "type =" / image / png "href =" / image / favicon-196x196.png "sizes =" 196x196 "/> <link rel =" icon "type =" / image / png "href =" / im age / favicon-96x96.png "sizes =" 96x96 "/> <link rel =" icon "type =" / image / png "href =" / image / favicon-32x32.png "sizes =" 32x32 "/> < link rel = "icon" type = "/ image / png" href = "/ image / favicon-16x16.png" sizes = "16x16" /> <link rel = "icon" type = "/ image / png" href = "/image/favicon-128.png" sizes = "128x128" /> <meta name = "application-name" content = "& nbsp;" /> <meta name = "msapplication-TileColor" content = "# FFFFFF" / > <meta name = "msapplication-TileImage" content = "/ image / mstile-144x144.png" /> <meta name = "msapplication-square70x70logo" content = "/ image / mstile-70x70.png" /> <meta name = "msapplication-square150x150logo" content = "/ image / mstile-150x150.png" /> <meta name = "msapplication-wide310x150logo" content = "/ image / mstile-310x150.png" /> <meta name = "msapplication- square310x310logo "content =" / image / mstile-310x310.png "/> <! - ваші favicon end -> <? php}

Вставляємо рекламу після певної кількості символів

function kama_content_advertise ($ text) {// через скільки символів шукати перенесення рядка і вставляти рекламу? $ Nu = 400; // Код реклами $ adsense = <<< HTML <div style = "float: right; margin: 0 0 10px 15px;"> Тут ваш рекламний код </ div> HTML; // return str_replace ( '<span id = "more-5424"> </ span>', $ adsense. '<! - more ->', $ text); return preg_replace ( '@ ([^^] {'. $ nu. '}. *?) (\ r? \ n \ r? \ n |) @', "\\ 1 $ adsense \\ 2", trim ($ text), 1); } Add_filter ( 'the_content', 'kama_content_advertise', -10);

Показувати рекламу тільки тим, хто прийшов з пошуку

function scratch99_fromasearchengine () {$ ref = $ _SERVER [ 'HTTP_REFERER']; $ SE = array ( '/ search?', 'Images.google.', 'Web.info.com', 'search.', 'Del.icio.us/search', 'soso.com', '/ search / ',' .yahoo. '); foreach ($ SE as $ source) {if (strpos ($ ref, $ source)! == false) return true; } Return false; }

Застосування: Вставляємо в те місце, де повинна виводитися реклама, наприклад Google AdSense.

if (function_exists ( 'scratch99_fromasearchengine')) {if (scratch99_fromasearchengine ()) {Код вашої реклами введіть тут. }}

Чи не виводити певні рубрики на головній сторінці сайту

// Чи не виводити певні Рубрики на головній сторінці сайту function exclude_category ($ query) {if ($ query-> is_home) {$ query-> set ( 'category__not_in', array (100,101));} return $ query; } Add_filter ( 'pre_get_posts', 'exclude_category');

де 100 і 101 це id бажаної рубрики WP

Видалення пробілів всередині анонсом і повним текстом - more

Для видалення конструкції:

<P> <span id = "more ..."> </ span> </ p>

з повною статті в wordpress, додаємо функцію:

<? Php function no_more ($ content) {if (! Is_feed () &&! Is_page () &&! Is_home () &&! Is_search () &&! Is_archive () &&! Is_author () &&! Is_category () &&! Is_paged ( )) $ content = preg_replace ( '(<p> <span id = \ "more [^>] *> </ span> </ p>)', '', $ content); return $ content;} add_filter ( 'the_content', 'no_more', 500);?>

Зміна шляху до сторінці автора - заміна author на user

add_action ( 'init', 'set_new_author_base'); function set_new_author_base () {global $ wp_rewrite; $ Author_slug = 'user'; $ Wp_rewrite-> author_base = $ author_slug; $ Wp_rewrite-> flush_rules (); }

Зміни закінчення різних слів, наприклад: день, дня, днів

function plural_end ($ n) {return ($ n% 10 == 1 && $ n% 100! = 11? 0: ($ n% 10> = 2 && $ n% 10 <= 4 && ($ n% 100 < 10 || $ n% 100> = 20)? 1: 2)); }

Висновок відміни закінчення слів:

// задаємо масив значень певного слова $ _plural_days = array ( 'день', 'дня', 'днів'); // виводимо значення echo $ _plural_days [plural_end ($ counter)]; // Де: $ counter - це кількість днів

Відключення стандартного пошуку WordPress

function fb_filter_query ($ query, $ error = true) {if (is_search ()) {$ query-> is_search = false; $ Query-> query_vars [s] = false; $ Query-> query [s] = false; // Помилка if ($ error == true) $ query-> is_404 = true; }} Add_action ( 'parse_query', 'fb_filter_query'); add_filter ( 'get_search_form', create_function ( '$ a', "return null;"));

Прибираємо випадає в пошуку

/ *** Прибрати випадає в пошуку ** / add_filter ( 'electro_enable_live_search', '__ return_false', 20);

Приховати текст після конкретної дати

function content_countdown ($ atts, $ content = null) {extract (shortcode_atts (array ( 'month' => '', 'day' => '', 'year' => ''), $ atts)); $ Remain = ceil ((mktime (0,0,0, (int) $ month, (int) $ day, (int) $ year) - time ()) / 86400); if ($ remain> 1) {return $ daysremain = "<div class = \" event \ "> Залишилося днів до появи - <strong> ($ remain) </ strong> </ div>"; } Else if ($ remain == 1) {return $ daysremain = "<div class = \" event \ "> Залишився всього <strong> ($ remain) </ strong> день до появи </ div>"; } Else {return $ content; }} Add_shortcode ( 'cdt', 'content_countdown');

Застосування: [cdt month = "01" day = "01" year = "2015»] З Новим роком! [/ Cdt]. До настання зазначеної дати, буде показаний лічильник зворотного відліку.

Включити підтримку шорткодов в цитатах і пошуку

add_filter ( 'the_excerpt', 'do_shortcode');

Приховати версію движка WordPress

// видалення версії WordPress start function remove_wpversion () {return ''; } Add_filter ( 'the_generator', 'remove_wpversion'); // видалення версії WordPress end // видалення версії WordPress з посилань на скрипти start function wp_version_js_css ($ src) {if (strpos ($ src, 'ver ='. Get_bloginfo ( 'version'))) $ src = remove_query_arg ( 'ver ', $ src); return $ src; } Add_filter ( 'style_loader_src', 'wp_version_js_css', 9999); add_filter ( 'script_loader_src', 'wp_version_js_css', 9999); // видалення версії WordPress з посилань на скрипти end

Міняємо стандартна адреса електронної пошти

/ *** Міняємо адреса електронної пошти ** / add_filter ( 'wp_mail_from', 'wp_mail_from_example'); function wp_mail_from_example ($ email) {return ' [Email protected] '; } / *** Видалити meta ** / remove_action ( 'wp_head', 'wlwmanifest_link'); remove_action ( 'wp_head', 'adjacent_posts_rel_link_wp_head'); remove_action ( 'wp_head', 'wp_shortlink_wp_head', 10,0); / *** Видалити rss стрічки ** / function fb_disable_feed () {wp_redirect (get_option ( 'siteurl')); } Add_action ( 'do_feed', 'fb_disable_feed', 1); add_action ( 'do_feed_rdf', 'fb_disable_feed', 1); add_action ( 'do_feed_rss', 'fb_disable_feed', 1); add_action ( 'do_feed_rss2', 'fb_disable_feed', 1); add_action ( 'do_feed_atom', 'fb_disable_feed', 1); remove_action ( 'wp_head', 'feed_links_extra', 3); remove_action ( 'wp_head', 'feed_links', 2); remove_action ( 'wp_head', 'rsd_link');

Приховати атрибути в головному меню

/ *** Приховати атрибути в меню ** / function my_menu_notitle ($ menu) {return $ menu = preg_replace ( '/ title = \ "(. *?) \" /', '', $ Menu); } Add_filter ( 'wp_nav_menu', 'my_menu_notitle'); add_filter ( 'wp_page_menu', 'my_menu_notitle'); add_filter ( 'wp_list_categories', 'my_menu_notitle');

Приховати поле сайт і email в коментарях

/ *** Коментарі приховати поле сайт ** / function remove_url_from_comments ($ fields) {unset ($ fields [ 'url']); return $ fields; } * Функція Видаляє поле сайт і email з коментарів * / add_filter ( 'comment_form_default_fields', 'wp_url_remove'); function wp_url_remove ($ fields) {if (isset ($ fields [ 'url'])) unset ($ fields [ 'url']); return $ fields; }

Дані хукі здатні значно розширити функціонал сайту і спростити їх впровадження. При бажанні можна написати досить цікаві рішення, експериментуйте. Якщо у вас є цікаві рішення або питання, сміливо публікуйте їх в коментарі.

Php або плагін?
Php або плагін?
Php відрізняється від плагіна?
Ваші favicon end -> <?
R?
Search?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: