На WordPress з його набором додатків та відмінною функціональністю можна створити сайт абсолютно будь-якого рівня та типу. Але поряд із величезною кількістю можливостей CMS є деякі функції WordPress, яким досі не надавали особливого значення. У цьому пості ми ознайомимося з 8 з них.
Коли ви про них дізнаєтесь, то, швидше за все, дуже здивуєтеся, що вони взагалі існують.
Виберіть найбільш цікаві та корисні функції для вас та вашого сайту.
Дивіться також:
1. Маскування адреси е-mail-сайті
Адже вам доводилося вказувати свою поштову адресу в блозі на WordPress або на сайті? Найімовірніше, що так. І якщо ви турбувалися про те, щоб не потрапити до списку розсилки спаму, то, напевно, шукали способи, щоб приховати цю інформацію від роботів. Виявляється, така функція давно існує на WordPress: antispambot().
Використання функції
Все досить просто:
<?php $my_email_address = "my.secret.email.address@gmail.com"; $my_email_address_cloaked = antispambot( $my_email_address ); echo $my_email_address_cloaked; ?>
Але, звичайно, ви не можете використовувати PHP для контенту на вашому сайті (хіба що використовувати відповідний плагін). І для застосування цієї функції для свого сайту можна використовувати маленький шорткод, вказаний нижче:
<?php function antispambot_sc( $atts ) { extract( shortcode_atts( array( 'email' => '' ), $atts ) ); return antispambot( $email ); } add_shortcode( 'antispambot', 'antispambot_sc' ); // Usage: [antispambot email="my.cloaked.email.address@gmail.com"] ?>
З його допомогою ви приховаєте адресу поштової пошти на будь-якій сторінці сайту.
2. Поділ записів до та після тегу «More...»
Функція get_extended() допоможе вам буквально розділити дві частини, до та після тегу!--more-->.
Використання функції
І тут нема нічого складного. Уявімо, що перед вами файл single.php і ви збираєтеся зробити так, щоб реклама на сайті відображалася між початком та рештою статті. Для цього створюємо цикл:
<?php while( have_posts() ) : the_post(); $content_parts = get_extended( get_the_content() ); echo '<h1 class="post-title">' . get_the_title() . '</h1>'; echo '<p class="intro">' . $content_parts['main'] . '</p>'; echo '<!-- Paste your ad code here. -->'; echo '<div class="article">' . $content_parts['extended'] . '</div>'; endwhile; ?>
Чудовий варіант без використання додаткового коду!
3. Автоматичне виправлення слова "wordpress"
Мабуть, найцікавіша частина цієї статті: про найбільш обговорювану функцію capital_P_dangit(). Як вам відомо, слово WordPress потрібно писати з великої літери W на початку, і з P у середині слова. І це функція допоможе вам у цьому, т.к. за її допомогою некоректне написання слова автоматично виправляється.
Використання функції
<?php $text = "WordPress is awesome!"; $corrected_text = capital_P_dangit( $text ); echo $corrected_text; // "WordPress is awesome!" ?>
Про неї близько 4-х років тому писав у своєму блозі Justin Tadlock і згадав про те, що вона може поламати URL. На щастя, у версії 3.0.1 цю проблему виправили, але не повністю. Наприклад, якщо ви неправильно напишіть «wordpress» у коді, де велике написання літери "p" є дуже важливим, то функція виправлення пошкодить код.
Але ця проблема легко вирішувана. Відкрийте файл functions.php у темі, що використовується (або створіть для цього новий плагін) і вставте код, вказаний нижче:
<?php remove_filter( 'the_title', 'capital_P_dangit', 11 ); remove_filter( 'the_content', 'capital_P_dangit', 11 ); remove_filter( 'comment_text', 'capital_P_dangit', 31 ); ?>
4. Видалення шорткодів
У вас може виникнути необхідність виключити шорткод з тексту при використанні частини контенту в прев'ю до наступного запису, або ж ви почали використовувати іншу тему і не хочете, щоб неактуальні тексти шорткодів відображалися на сайті. Тоді функція strip_shortcodes() вам у цьому допоможе.
Використання функції
Дуже хороший приклад використання цієї функції можна спостерігати тут. Кодекс. Припустимо, що вам потрібно видалити шорткод у домашній сторінці, але при цьому залишити його на інших сторінках. Для цього використовуйте функцію strip_shortcodes() наступним чином:
<?php function remove_shortcode_from_index( $content ) { if ( is_home() ) $content = strip_shortcodes( $content ); return $content; } add_filter( 'the_content', 'remove_shortcode_from_index' ); ?>
Все швидко та досить просто.
5. Оновлення правил перезапису
Якщо ви займаєтеся розробкою тем або плагінів, і вам потрібно додати оновлене правило функції, то користувачі повинні оновити правила перезапису. Це можна зробити на сторінці опцій Постійних посилань. Або створіть автоматичне оновлення правил перезапису за допомогою функції flush_rewrite_rules().
Використання функції
Якщо ви дійсно займаєтеся розробкою, то уявимо, що ви написали плагін для нового типу посту. Після його активації та деактивації вам необхідно оновити правила перезапису для роботи постійних посилань:
<?php // Register Custom Post Type function portfolio_cpt() { register_post_type( 'portfolio', array( 'labels' => array( 'name' => __( 'Portfolios', 'my-locale' ), 'singular_name' => __( 'Portfolio', 'my-locale' ) ), 'public' => true, 'has_archive' => true, ) ); } add_action( 'init', 'portfolio_cpt', 0 ); function myplugin_activate() { portfolio_cpt(); flush_rewrite_rules(); } register_activation_hook( __FILE__, 'myplugin_activate' ); function myplugin_deactivate() { flush_rewrite_rules(); } register_deactivation_hook( __FILE__, 'myplugin_deactivate' ); ?>
Якщо використовувати ресурси сервера, перезапис правил є витратною функцією. Тому краще робити це на час активації та деактивації вашого плагіна чи теми.
Ця функція, мабуть, є однією з найбільш відомих серед усіх перерахованих тут. Але часто розробники все ж таки забувають про неї.
6. Відстеження відвідувачів, які заходять із мобільних телефонів
Функція wp_is_mobile() допомагає визначити хто з користувачів відвідує ваш сайт через мобільні телефони.
Використання функції
<?php if( wp_is_mobile() ) { // echo the "HAVE YOU TRIED OUR AWESOME MOBILE APP?" banner } else { // don't echo the banner } ?>
На цей випадок є один чудовий інструмент Адаптивний веб-дизайн. У вас є можливість видалити непотрібні елементи для користувачів, які використовують мобільні телефони для входу на ваш сайт, або навпаки додати, наприклад, банер для мобільного додатка.
7. Додавання інлайн CSS
Звичайно ж, у вас виникала необхідність додати стиль у плагін або тему на WordPress, чи не так? Для додавання зовнішніх файлів каскадних таблиць стилів WordPress використовується функція wp_enqueue_style() і їй подібні. Але вона не дозволяє додати інлайн каскадні таблиці стилів. Для цього існує wp_add_inline_style().
Використання функції
<?php $custom_style_file = get_template_directory_uri() . '/css/custom_style.css'; function custom_styles() { wp_enqueue_style( 'custom-style', $custom_style_file ); $headline_font_weight = get_theme_mod( 'headline-font-weight' ); $custom_style = '.headline { font-weight: ' . $headline_font_weight . '; }'; wp_add_inline_style( 'custom-inline-style', $custom_style ); } add_action( 'wp_enqueue_scripts', 'custom_styles' ); ?>
8. Перевірка наявності коду у циклі
Розробникам тем та плагінів необхідно перевіряти, чи використовується створений ними код у циклі. Це можна легко зробити за допомогою функції in_the_loop().
Використання функції
<?php if( in_the_loop() ) { // do something loop-related } else { // don't do anything or display some kind of error/warning } ?>
Коментарі до запису: 1
Спасибі, знадобиться 100%!