Вітаю! У цій статті я хочу представити вам свою версію реалізації плагіна «Hide My Dates», яка в рази простіша й швидша. На створення цього плагіна, як і слід було очікувати, мене надихнули недоліки плагіна «Hide My Dates». А саме — підключення CSS-файлу, звернення до БД, сміття, що залишається після видалення плагіна.
Свою версію я назвав подібно — «Hide Dates (css)». «CSS» — тому що ця версія працює виключно за рахунок CSS-стилів.
Усе дуже просто — плагін складається лише з одного файлу «/wp2fl-hide-dates-css/plugin.php», у якому й зосереджена вся логіка роботи.
Перше, що відрізняє мій плагін від «Hide My Dates», — це відсутність підключення зовнішнього CSS-файлу. Натомість стилі вбудовуються безпосередньо в шаблон сайту. Це можна реалізувати таким кодом:
if(function_exists('wp2fl_hide_dates_css_wp_head') == FALSE):
function wp2fl_hide_dates_css_wp_head()
{
echo '<style>.s-hdate:before{content:attr(title);}</style>';
}
add_action('wp_head', 'wp2fl_hide_dates_css_wp_head');
endif;
Завдяки хуку wp_head ми вставляємо стиль між тегами <head> і </head>, який відповідає за виведення значення атрибута title у потрібну частину HTML-коду.
Наступні фільтри:
add_filter('get_the_time', 'wp2fl_hide_dates_css_hd');
add_filter('get_the_date', 'wp2fl_hide_dates_css_hd');
add_filter('get_the_modified_time', 'wp2fl_hide_dates_css_hd');
add_filter('get_the_modified_date', 'wp2fl_hide_dates_css_hd');
add_filter('get_comment_date', 'wp2fl_hide_dates_css_hd');
add_filter('get_comment_time', 'wp2fl_hide_dates_css_hd');
викликають функцію:
function wp2fl_hide_dates_css_hd($d = '')
{
if(is_admin() == FALSE)
{
$d = '<span class="s-hdate" title="'.$d.'"></span>';
}
return $d;
}
що відповідає за зміну формату виводу дати в різних випадках.
Тут, як і в попередній версії, ми «ховаємо» дати в атрибут title тега span, щоб потім виводити їх за допомогою CSS-стилю, описаного вище.
А в наступній статті я розповім, як можна приховувати дати за допомогою атрибута data і фреймворка jQuery.
