4

こんにちは私はwordpresswp_list_tableクラスを拡張することによってデータベースからのさまざまなエントリを表示したプラグインを書いています。すべての行にいくつかのアクションリンクを表示するために、私はこの関数を次のように使用しました。

function column_name($item) {
    $actions = array(
        'edit' => sprintf('<a href="?page=%s&action=%s& hotel=%s">Edit</a>',$_REQUEST['page'],'edit',$item['id']),
        'delete' => sprintf('<a href="?page=%s&action=%s&hotel=%s">Delete</a>',$_REQUEST['page'],'delete',$item['id']),
    );
    return sprintf('%1$s %2$s', $item['Name'], $this->row_actions($actions) );
}

しかし、管理ページからこれらのリンクをクリックしても何も起こりません。すべてのウェアを検索したURLの変更のみで、ほとんどの例では配列形式の静的データを使用しているため、$_GETでアクティブにする方法を説明します。 []方法またはそれを行う他の方法はありますか?

4

1 に答える 1

3

設定ページに戻り、$ GET 値の if ステートメントを追加する必要があります。(つまり、add (sub)menu_page 呼び出しからのコールバック。

例えば

if( isset( $_GET['edit-hotel'] ) ) :
  // Show my edit hotel form
else :
  // Show my WP_List_Table
endif;

もちろん、必要に応じて、編集フォームの上にリスト テーブルを表示することもできます。これは単なる例です。

WP_List_table クラスは @access private とマークされているため、実際には API の一部として使用しないでください。WordPress コア開発者 Andrew Nacin のコメントを参照してください

于 2013-01-03T12:30:51.077 に答える