Хуки 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]
