我使用了我建立的功能,用于在用户删除特定帖子后删除用户的所有帖子。在我的情况下,我使用名为" company"的自定义帖子类型。以及其他自定义帖子类型,例如" jobs"或"事件"。如果公司帖子被删除,该用户的所有其他帖子也将被删除。
我不知道要解决的是如何在旧帖子中添加安全301重定向。公司发布和所有其他帖子。
这是我目前使用的代码:
function delete_all_posts_from_author($post_id) {
global $post;
$id = $post->ID;
// Only trigger if post type is "company"
if ( get_post_type($id) == "company" ) {
$author_id = $post->post_author;
$posts_from_author = get_posts(
array(
'posts_per_page' => -1,
'post_status' => 'publish',
'post_type' => array('event','job'),
'author' => $author_id,
'fields' => 'ids', // Only get post ID's
)
);
foreach ( $posts_from_author as $post_from_author ) {
wp_delete_post( $post_from_author, false); // Set to False if you want to send them to Trash.
}
}
}
add_action( 'publish_to_trash', 'delete_all_posts_from_author', 10, 1 );
我尝试在" wp_delete_post"之前添加以下行:
wp_safe_redirect( get_home_url() );
但没有成功。
还有其他办法吗?