0

WordPressのget)submit_button()を使用して、プラグインページにいくつかのボタンを作成し、メタキーを削除しようとしています。

使った

get_submit_button( __( 'Delete' ), "delete:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$delete_nonce deletemeta", "deletemeta[{$entry['meta_id']}]", false, array( 'tabindex' => '6' ) );

そのための新しいナンスコードも作成しました。

しかし、私は取得しています-あなたには許可などがありません

どうすればこれを解決できますか?

4

3 に答える 3

0

ドキュメントを読む:http://codex.wordpress.org/Function_Reference/get_submit_button

2番目の引数は正しくありません。そしてそのために他の人も間違っています

于 2012-06-01T11:03:54.540 に答える
0

プラグインがどのように設定されているかはわかりませんが、フォームを作成することでした。ナンスを含むものを削除するためです。

<input type="hidden" name="mybox_meta_box_nonce" value="<?php wp_create_nonce(basename(__FILE__));?>" />

これをフォームに含めてから、送信ボタンを手動で作成し、通常どおりフォームを送信してから、コードを使用して、送信されているフォームを確認します

すなわち:

<?php
// using another hidden field within the form
if(isset($_POST['action']) && ($_POST['action']=='remove')){
    $post_meta_key = $_POST['meta_key'];
    $post_meta_value = $_POST['metavalue'];
    $postid = $_POST['postid'];
    delete_post_meta($post_id, $meta_key, $meta_value);
    echo '<div id="message" class="updated fade">Post meta deleted.</div>';
}
?>

うまくいけば、これはあなたを少し助ける

マーティ

于 2012-06-01T11:09:42.983 に答える
0

それを解決しました...

必要だったのは追加のナンスフィールドだけでした

wp_nonce_field( 'change-meta', '_ajax_nonce', false, false );

だから私のコードは次のようになります:

$delete_nonce = wp_create_nonce( 'delete-meta_' . $meta_id );
$output.=get_submit_button( __( 'Delete' ), "delete:the-list:meta-{$meta_id}::_ajax_nonce=$delete_nonce deletemeta", "deletemeta[{$meta_id}]", false, array( 'tabindex' => '6' ) );
$output.=wp_nonce_field( 'change-meta', '_ajax_nonce', false, false );

そして....その動作:-)

于 2012-06-01T12:21:29.157 に答える