Wordpress自定义帖子类型&自定义分类法重置(性能问题)

时间:2018-01-31 15:13:32

标签: php wordpress

我开发了一个读取csv文件的插件,以便使用PHP和WordPress创建4种不同的自定义分类(类别)和1种自定义帖子类型(Post)。

在初始导入时,执行时间少于6秒,但是第二次执行需要1分钟以上才能重置和重新上传数据。 我发现的问题出在resetAllPosts函数上(参见代码)

public function resetAllPosts() {
$query = new WP_Query( array(
    'post_type'      => 'psp',
    'post_status'    => 'publish',
    'posts_per_page' => 100
) );

// remove all taxonomies will take too long..
// delete all custom taxonomies terms
$terms_payment  = get_terms( 'payment', array( 'fields' => 'ids', 'hide_empty' => false ) );
$terms_country  = get_terms( 'country', array( 'fields' => 'ids', 'hide_empty' => false ) );
$terms_currency = get_terms( 'currency', array( 'fields' => 'ids', 'hide_empty' => false ) );
$terms_provider = get_terms( 'provider', array( 'fields' => 'ids', 'hide_empty' => false ) );

foreach ( $terms_payment as $value ) {
    wp_delete_term( $value, 'payment' );
}
foreach ( $terms_country as $value ) {
    wp_delete_term( $value, 'country' );
}
foreach ( $terms_currency as $value ) {
    wp_delete_term( $value, 'currency' );
}
foreach ( $terms_provider as $value ) {
    wp_delete_term( $value, 'provider' );
}

while ( $query->have_posts() ) {
    $query->the_post();
    $post_id = get_the_ID();

    // remove the relation between the post and the taxonomies
    //wp_delete_object_term_relationships(get_the_ID(),array("provider","payment","currency","country"));

    // Remove the feature image from Media gallery
    //$post_thumbnail_id = get_post_thumbnail_id( $post_id );
    //wp_delete_attachment( $post_thumbnail_id, true );

    // delete the post
    wp_delete_post( $post_id, "true" );


}

echo "Reset of all data success..";
}

我想了解删除所有字词数据的最佳/最快方法。

0 个答案:

没有答案