Хуки WordPress — важнейший элемент функционирования ядра WordPress. Хуки (зацепы) действуют следующим образом: система WP содержит множество различных хуков (фильтров и экшенов), которые являются частью структуры ядра и имеют определенную последовательность, которая играет важную роль. Пользовательские функции можно привязывать к существующим хукам, либо создавать свои хуки.
В данной записи собираются части кода для funсtions.php, которые могут когда-либо пригодится.
Расширение визуального редактора
// Расширение визуального редактора add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' ); function myformatTinyMCE( $in ) { $in['wordpress_adv_hidden'] = FALSE; return $in; } function enable_more_buttons($buttons) { $buttons[] = 'fontselect'; $buttons[] = 'fontsizeselect'; $buttons[] = 'styleselect'; $buttons[] = 'backcolor'; $buttons[] = 'newdocument'; $buttons[] = 'cut'; $buttons[] = 'copy'; $buttons[] = 'charmap'; $buttons[] = 'hr'; $buttons[] = 'visualaid'; return $buttons; } add_filter('mce_buttons_3', 'enable_more_buttons');
Выводим CSS через функцию
function wpusagecode_style() { print '<style> #wp_usage { position: fixed; background-color: rgba(0,0,0,0.9); color: #fff; font-size: 10px; z-index: 99; padding: 10px 15px; left: 25px; bottom: 25px; border-radius: 3px; } #wp_usage .fa {margin-right: 7px; color: #F44336;} @media screen and (max-device-width:480px) { #wp_usage {display: none;} } </style>'; } add_action('get_footer', 'wpusagecode_style');
Вывести список всех хуков
Вставляем в functions.php
function list_hooked_functions($tag=false){ global $wp_filter; if ($tag) { $hook[$tag]=$wp_filter[$tag]; if (!is_array($hook[$tag])) { trigger_error("Nothing found for '$tag' hook", E_USER_WARNING); return; } } else { $hook=$wp_filter; ksort($hook); } echo '<pre>'; foreach($hook as $tag => $priority){ echo "<br />>>>>>\t<strong>$tag</strong><br />"; ksort($priority); foreach($priority as $priority => $function){ echo $priority; foreach($function as $name => $properties) echo "\t$name<br />"; } } echo '</pre>'; return; }
В необходимом во фронтенде шаблоне вставляем функцию ввода списка
<?php list_hooked_functions(); ?> //для всех функций <?php list_hooked_functions('wp_head'); ?> //для определенной функции[site-socialshare]