Увольнение page_publish, где страница – дочерняя страница

У меня возникают трудности с функцией запуска при публикации новой страницы. Я хотел бы, чтобы он срабатывал, когда новая страница была опубликована или отредактирована, но ТОЛЬКО, когда эта страница имеет родителя.

Вот что у меня есть

function myFunction(){ global $post; if($post->post_parent > 0){ // do stuff } } add_action( 'publish_page', 'myFunction' ); 

Пока это работает, когда я обновляю страницу, но не тогда, когда я публикую ее в первый раз, она не признает, что у нее есть родитель в этот момент, я полагаю?

Действие publish_page указано как устаревшее. Вы можете использовать hook_post_status, чтобы проверить, была ли опубликована страница.

 function publish_page_interception( $new_status, $old_status, $post ) { if ( ($new_status != $old_status) && ($post->post_status == 'publish') && ($post->post_type == 'page') ) { if($post->post_parent > 0) { //do stuff } } } add_action( 'transition_post_status', 'publish_page_interception', 10, 3 ); 

Дополнительную информацию смотрите здесь: http://codex.wordpress.org/Post_Status_Transitions

Счастливое кодирование,

Kuchenundkakao