web-dev-qa-db-ja.com

ページ削除後の関連メディアの削除

私は このコードを見つけました

しかし私のために働かない。コードを挿入する場所やってみる

wP - コンテンツ/テーマ/ mytheme/functions.php - 動作しません。

wp-includes/post.php - 動作しません。

wp-includes/functions.php - 動作しません。

そして私はプラグインを作ります(しかしこれが最初です)、動作しません。 プラグインのダウンロード

私のWordpressのバージョンは4.2.2です。

ありがとう、そしてすみません、私は新人です!

1
Aron

わかりやすくするために、 this answer から借用して、テーマのfunctions.phpに以下を追加してください。

function wpse_188427_delete_post_media( $post_id ) {
    $attachments = get_posts(
        array(
            'post_type'      => 'attachment',
            'posts_per_page' => -1,
            'post_status'    => 'any',
            'post_parent'    => $post_id,
        )
    );

    foreach ( $attachments as $attachment ) {
        wp_delete_attachment( $attachment->ID );
    }
}

add_action( 'delete_post', 'wpse_188427_delete_post_media' );

// Uncomment the following line if you also want to delete media when the post is trashed
// add_action( 'wp_trash_post', 'wpse_188427_delete_post_media' );
3
TheDeadMedic