触发PAGE_PUBLISH,其中PAGE是子页面

时间:2014-07-16 作者:Andrew Cook

发布新页面时,我很难启动函数。我希望它在发布或编辑新页面时启动,但仅当该页面有父页面时。

这是我得到的

function myFunction(){
    global $post; 
    if($post->post_parent > 0){
        // do stuff
    }   
}
add_action( \'publish_page\', \'myFunction\' );
到目前为止,当我更新一个页面时,这是可行的,但当我第一次发布一个页面时,这不是可行的,我想它没有意识到在那一点上它有一个父页面?

1 个回复
SO网友:HU ist Sebastian

publish\\u page操作列为已弃用。您可以使用“transition\\u post\\u 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

结束

相关推荐

WP_DROPDOWN_PAGES默认值

我有一个页面下拉菜单,但在我转到所选页面后,让我们说“关于我们”,dropbown的默认标题按钮是页面的标题,“关于我们”,因此我希望标题/默认选项是“请选择页面”或类似的内容。我的代码是:wp_dropdown_pages(\"title_li=&depth=1&sort_column=menu_order&child_of=\".$post->post_parent.\"&echo=0&selected=$currPage\"); 我做错了什么,