不保存功能未选中复选框

时间:2015-08-09 作者:wp student

我正在尝试在中保存分类的自定义选项wp_options. 如果选中复选框,则以下函数将帖子id保存在数组中,但当我取消选中复选框时,它不会从wp\\U选项中删除术语id。

function wpfs_save_tax($term_id) {

$featured_tax = get_option(\'_featured_tax\');
if(empty($featured_tax) ) {
    $featured_tax = array();
}

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

    if(!in_array($term_id, $featured_tax) ) {
    $featured_tax[] = $term_id;
    }

} else {

    if(in_array($term_id, $featured_tax) ) {
        unset($featured_tax[$term_id]);
        }

} //isset

update_option(\'_featured_tax\', $featured_tax);
}
请查看我的代码。

1 个回复
最合适的回答,由SO网友:webtoure 整理而成

严格按照我在你的代码中看到的:你试图unset 不正确,unset 通过数组键工作,并且您正在使用$term_id 这是一个值。您需要在数组中找到该$term_id:

function wpfs_save_tax( $term_id ) {
    $featured_tax = get_option( \'_featured_tax\' );

    if ( empty( $featured_tax ) ) {
        $featured_tax = array();
    }

    if ( isset( $_POST[\'wpfs_tax\'] ) ) {
        if ( ! in_array( $term_id, $featured_tax ) ) {
            $featured_tax[] = $term_id;
        }
    } else {
        if ( in_array( $term_id, $featured_tax ) ) {
            unset( $featured_tax[array_search( $term_id, $featured_tax )] );
        }
    }

    update_option( \'_featured_tax\', $featured_tax );
}

结束

相关推荐

Global functions on WPMU

我在一个多站点环境中工作,所有站点都是相关的。最近的许多发展都要求我将某些功能复制并粘贴到许多不同的主题文件夹中,如果我需要到处更新它们,就会出现问题。拥有全局“functions.php”文件的最佳方式是什么?我的想法是要么在themes文件夹中包含一个文件并包含它,要么创建一个插件并启用该插件。