在其他页面刷新之前,删除的类别仍会列出

时间:2019-02-26 作者:thingEvery

我试过使用wp_delete_category()wp_delete_term() 删除类别,但页面重新加载后,已删除的类别仍显示在get_categories(). 但如果我再次重新加载页面,则该类别将消失。

我怎样才能确保它在第一次重新加载后消失?

我正在用$_POST 并交给wp_delete_category(). 这一切都发生在插件设置页面上。下面是我的一段代码。欢迎提出建议。

if ( isset($_POST[\'deleteSelectedCategories\']) ){

    $cats = $_POST[\'catsToDelete\'];
    $catsArray = explode(\',\', $cats);

    foreach ($catsArray as $catID) {
        // wp_delete_category( $catID );        
        wp_delete_term( $catID, \'category\' );
    }
}

1 个回复
SO网友:thingEvery

我通过强制第二次刷新找到了一个解决方法,但我相信可能有更好的方法来做到这一点。

为了让用户更顺利地完成这个过程,我想我必须先发布一篇AJAX文章,然后在成功后刷新以显示更新的数据。

<小时>

if ( isset($_POST[\'deleteSelectedCategories\']) ){

    $cats = $_POST[\'catsToDelete\'];
    $catsArray = explode(\',\', $cats);

    $success = 0;

    foreach ($catsArray as $catID) {
        if ( wp_delete_term( $catID, \'category\' ) ) {
            $success++;
        }
    }

    if ($success > 0) {
        echo \'[Here I have some HTML to block out the screen 
            and show a message to the user, 
            and then the following meta refresh:] 
            <meta http-equiv="refresh" content="0" />\';
    }
}

相关推荐

使用wp_Dropdown_Categories($args)的输出

请温柔点,我对所有这些编码都是新手!我终于找到了如何获得前端下拉字段,允许我从EDD类别中进行选择(我从Codex中获得):<div class=\"gallery-row\"> <li id=\"categories\"> <h2><?php _e( \'Categories:\' ); ?></h2> <form id=\"category-select\" class=\"category-