web-dev-qa-db-ja.com

削除を元に戻します(削除されません)?

ゴミ箱から公開されたページに投稿を移動するために使用されるべき機能はどれですか?
wp_undelete_postまたはそれに似たものはありますか?

1
T.Todua

wp_undelete_postはありませんが、他に選択肢があります。

  • wp_untrash_post() :投稿がゴミ箱に捨てられると、前のステータスは_wp_trash_meta_statusメタフィールドに格納されます。 wp_untrash_post()は、ゴミ箱への投稿を以前の状態に戻します。たとえば、private、inherit、publishなどです。私はそれをテストしていませんが、それはカスタムの投稿ステータスでも動作するはずです。
  • wp_publish_post() :ごみ箱から公開状況に移動したい場合。
  • wp_update_post() :ゴミ箱から他のステータスに移動する。

たとえば、特定の投稿ID(ページを含む任意の投稿タイプ)の場合、

if( get_post_status( $post_ID ) == "trash" ) {
    wp_update_post( array(
                   'ID'           => $post_ID,
                   'post_status'  => 'publish'
               )
    );
}

または

if( get_post_status( $post_ID ) == "trash" ) {
    wp_publish_post( $post_ID );
}

または

if( get_post_status( $post_ID ) == "trash" ) {
    wp_untrash_post( $post_ID );
}
4
cybmeta

それは古いかもしれませんが、私が同じような問題を探していたときに現れました。 WP 2.9.0以降、次の関数が呼び出されました。 wp_untrash_post(int $ post_id)

私の場合、それは魅力のように働いた。

1
Zank