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

0 ответов

Другие вопросы по тегам