[WordPress] 日付のメタ データのユーザー設定フィールドによってワードプレスの有効期限が切れた記事を削除します。

スポンサーリンク

Question

私はいるこのコードが動作するはずだと思うがいい.

誰もがかいま見を取ることができる場合、場合を参照してください明らかに何かがあります。ワードプレスコデックス、上のリソースの多くを検討しているが、私が考えることができるすべてを試してみました

// This function will run once the 'expired_post_delete' is called

function expired_post_delete() {

    $todays_date = the_date();

    $args = array(
        'post_type' => 'post',
        'posts_per_page' => -1,
        'meta_key' => 'date',
        'orderby' => 'meta_value',
        'order' => 'ASC',
        'meta_query' => array(
            array(
                'key' => 'date',
                'value' => $todays_date,
                'type' => 'DATE',
                'compare' => '<'
            )
        )
    );

    $posts = new WP_Query( $args );

    // Cycle through each Post ID
    foreach( $posts as $post_id ) {
        wp_delete_post( $post_id );
    }
}

の答え

the_date()

は、ループ内で使用する必要があります。ループの外には、null が返されます。代わりに current_time() を使用します

$todays_date = current_time('mysql'); // returns YYYY-MM-DD HH:MM:SS

http://stackoverflow.com/questions/27386129/delete-expired-posts-in-wordpress-by-date-meta-data-custom-field

スポンサーリンク

Leave a Reply