拡張クラスを作成してwp_list_tableを使用しようとしています。私は、提供されている一括アップデート機能を実行するには2つのアクションがあります。しかし、私はかなり適切なcase switchステートメントを書く方法を知っていないので、結果として得られるチェックボックスを、取られたアクションに基づいていずれかのアレイアクションに適用するように設定しています...(私は何をする必要があるか分かりますが、それを行う方法を知っている)。wp_list_tableで一括編集チェックボックスをレンダリングするには
これは、私が仕事をしなければならない関係づけコードの最小ビットである。この1つの最後の時間を確認
/**
* Render the bulk edit checkbox
*
* @param array $item
*
* @return string
*/
function column_cb($item) {
return sprintf(
'<input type="checkbox" name="bulk-reset[]" value="%s" />', $item['id']
);
}
/**
* Method for name column
*
* @param array $item an array of DB data
*
* @return string
*/
function column_name($item) {
$delete_nonce = wp_create_nonce('sp_delete_customer');
$reset_nonce = wp_create_nonce('sp_reset_payouts');
$title = '<strong>' . $item['name'] . '</strong>';
$actions = [
'delete' => sprintf('<a href="?page=%s&action=%s&customer=%s&_wpnonce=%s">Delete</a>', esc_attr($_REQUEST['page']), 'delete', absint($item['id']), $delete_nonce),
'reset' => sprintf('<a href="?page=%s&action=%s&customer=%s&_wpnonce=%s">Reset</a>', esc_attr($_REQUEST['page']), 'reset', absint($item['id']), $reset_nonce)
];
return $title . $this->row_actions($actions);
}
/**
* Returns an associative array containing the bulk action
*
* @return array
*/
public function get_bulk_actions() {
$actions = array(
'bulk-delete' => 'Delete',
'bulk-reset' => 'Reset'
);
return $actions;
}
、私は右のエコーエスケープPHPとしてnameプロパティに呼び出される関数が必要だと思います?その関数は、$_post['delete-*']
に基づいてバルクリセット[]またはバルク削除[]を返しますか?
以上、これを熟慮しているので、私は私が作ったaction_type
関数が呼び出されないことを一緒にペンにソリューションを試してみましたが、何らかの理由できました:
/**
* Render the bulk edit checkbox
*
* @param array $item
*
* @return string
*/
function column_cb($item) {
global $action_type;
return sprintf(
'<input type="checkbox" name="'.$action_type.'" value="%s" />', $item['id']
);
}
/**
* Pick the Checkbox Value based on post Value
*
*
* @return string
*
*/
public function action_type() {
if ((isset($_POST['action']) && $_POST['action'] == 'bulk-delete')
|| (isset($_POST['action2']) && $_POST['action2'] == 'bulk-delete')
) {
$output = "bulk-delete[]";
} else {
$output = "bulk-reset[]";
}
return $output;
}
編集2:それがために動作しません実現これは値postを設定し、私はページロードの前に設定する必要があった...これは、配列名を汎用にする必要があることを意味し、ポストアクションはデータを処理する方法を処理する...多分簡単にするために設定するべき最終的には同じセットのチェックボックスと同じバルク削除データセットに対する編集アクションを実行する。
編集3:アクションを実行するコードの部分がポストの配列名に依存し、その配列名がページのロード時に設定されているため、edit2の最後に示唆することはできません。私は何をすべきか分かりません。
私はあなたが私はこのように移入されたレコードごと削除インラインについて話して考えていると思います?:http://puu.sh/oYE3s/daf006755d.png私は同じ単一のチェックボックスにリンクされているすべてのアクションの可能性について話しています:http://puu.sh/oYE8x/5079d4d3c1.png私は今、コードの一部を欠いていて、その2つのd場合によっては – Frankenmint
の解決策がありますか? –
いいえ私はまだそれを介して作業して....私の2番目の提案は動作しません – Frankenmint