Wordpress - post_udated выполняется с помощью wp_update_nav_item
Я строю функцию для генерации кэшированной версии различных элементов на странице. Я использую разные функции для каждого элемента, как показано ниже:
add_action('wp_insert_comment','comment_inserted',99,2);
function comment_inserted( $comment_ID, $comment )
{
echo "comment cache test";
}
add_action( 'post_updated', 'post_cache', 10, 1 );
function post_cache($post_ID)
{
echo "post cache test";
}
add_action( 'wp_update_nav_menu_item', 'menu_cache',10,2);
function menu_cache($args)
{
echo "nav cache test";
}
Когда я обновляю комментарии или сообщения, я получаю ожидаемый результат. Когда я обновляю навигацию, он делает то, что должен, но делает что-то еще, что очень раздражает, он также выполняет функцию post_cache для каждого сообщения, доступного в системе. Это как post_update выполняется каждый раз, когда запрашивается wp_update_nav_item.
Есть ли способ избежать этого? Я хотел бы иметь функцию, которая срабатывает только при обновлении меню и ничего больше.
Спасибо! Laurent