如何获取自定义的save\\u post函数,以返回post状态为“trash”的项目的默认$post\\u id、$post和$status?
无论我以何种方式返回,都会发出警告:array\\u map():参数#2应该是in/post中的数组。php在线1980
从垃圾箱还原或更改post状态(如果我使用不同的状态播放)时垃圾箱中的项目。似乎任何返回都不会返回默认数组。
我们需要回到基本点上来。下面是代码,除了从垃圾箱中恢复项目时,bugs out。
谢谢
//add_action(\'init\', array( $this, \'init\' ), 10, 2 );
add_action( \'save_post\', \'update_children\', 10, 2);
function update_children( $post_id, $post ) {
if ( \'trash\' != $post->post_status ){
// Is a top level post
if( 0 === $post->post_parent ) {
$children = array(
\'post_parent\' => $post->ID,
\'post_type\' => \'any\', //you can use also \'any\'
\'fields\' => \'ids\', // Only Return IDs
\'post_status\' => \'publish\',
);
global $post;
if ((is_array($children))&&(!empty( $children ))){
$the_query = new WP_Query( $children );
}
// The Loop
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
$pages[] = get_the_ID();
//$pages = array();
if ((is_array($children))&&(!empty( $children ))) {
foreach( $children as $child_ids ) {
remove_action( \'save_post\', \'update_children\', 10, 2);
wp_update_post( $pages );
add_action( \'save_post\', \'update_children\', 10, 2);
}
}
endwhile;
endif;
}
}
}