WP_LIST_TABLE多个复选框

时间:2013-05-16 作者:ivan

我有一个自定义类,它扩展了wp\\u list\\u表,并在每一行中显示带有两个复选框的帖子列表(一个复选框的post ID值用于确定要处理哪些帖子,另一个用于确定是否应该为特定帖子包含图像)。我有两个功能

 function column_cb($item){
    return sprintf(
        \'<input type="checkbox" name="%1$s[]" value="%2$s" />\',
        /*$1%s*/ $this->_args[\'singular\'], 
        /*$2%s*/ $item[\'ID\']               
    );
}

function column_image($item){
    return sprintf(
        \'<input type="checkbox" name="%1$s[]" value="%2$s" />\',
         /*$1%s*/ $this->_args[\'singular\'], 
        /*$2%s*/ \'yes\'  
    );
}   
这将产生类似数组的结果(即如果选择了三篇文章,并选中了两个图像复选框)

[post] => Array ( 
          [0] => 6238 
          [1] => 6230 
          [2] => yes 
          [3] => 6224 
          [4] => yes
         ) 
但我想得到的是类似的东西(无论是数字数组还是关联数组)

[post] => Array 
     ( [0] => Array ([0] => 6238 [1] => yes)
       [1] => Array ([0] => 6230 [1] => \'\')
       [2] => Array ([0] => 6224 [1] => yes)
     )
我如何才能做到这一点(如果在某个时候我想再添加一个复选框怎么办)?

1 个回复
SO网友:ivan

我想到了这个。。。我将输入字段更改为

 <input type="checkbox" id="%2$s" name="post[%2$s][]" value="%2$s" />
 <input type="checkbox" id="image_%3$s" name="post[%3$s][]" value="%2$s" />\'
。。。并将第三个参数添加到column\\u image函数($item[\'ID\'))

function column_image($item){
return sprintf(
    \'<input type="checkbox" id="image_%3$s" name="post[%3$s][]" value="%2$s" />\',
     /*$1%s*/ $this->_args[\'singular\'], 
    /*$2%s*/ \'yes\',  
    /*$3%s*/ $item[\'ID\'] 
  );
}   
这样我就得到了使用post ID作为索引的数组,例如

[post] => Array ( 
     [6238] => Array ( [0] => 6238 [1] => yes ) 
     [6230] => Array ( [0] => 6230 ) 
     [6224] => Array ( [0] => 6224 [1] => yes ) 
        )

结束

相关推荐