如何在回显的字符串中插入wp_nonce字段

时间:2015-02-20 作者:Dejan Toteff

如果不阻止代码,我无法找到正确插入wp\\u nonce字段的方法。下面的代码来自一个类函数,该函数发回字符串,字符串将被回显。

    $end_data .= \'<input type="text" class="ss_title_form_ajax_\' . $this->id . \'"     limit="133" value="\' . $this->native_title . \'" size = "60" placeholder=""/>\';
    $end_data .= \'<span class="ss_title_form_ajax_\' . $this->id . \'"></span>\';
    $end_data .= \'<span id="ShowMe_\' . $this->id . \'">\' . ( 60 - strlen( $this->native_title ) ) . \'</span>\';
    //-------------------------
    foreach ( $this->have_results as $keywords_rf ) {
        $end_data .= \'<span class="user_select_rf" data-role="\' . $this->id . \'">\' . $keywords_rf . \'   </span>\';
    }
    //-------------------------
    return $end_data . \'</form>\';
在这些情况下,如何添加wp\\u nonce?

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

您使用wp_nonce_field 第四个参数设置为false。通过这种方式,您可以获取nonce字段,而不是回显它:

$end_data .= wp_nonce_field( "name-of-action", "name-for-the-form-field", true, false );

$end_data .= \'<input type="text" class="ss_title_form_ajax_\' . $this->id . \'"     limit="133" value="\' . $this->native_title . \'" size = "60" placeholder=""/>\';
$end_data .= \'<span class="ss_title_form_ajax_\' . $this->id . \'"></span>\';
$end_data .= \'<span id="ShowMe_\' . $this->id . \'">\' . ( 60 - strlen( $this->native_title ) ) . \'</span>\';
//-------------------------
foreach ( $this->have_results as $keywords_rf ) {
    $end_data .= \'<span class="user_select_rf" data-role="\' . $this->id . \'">\' . $keywords_rf . \'   </span>\';
}
//-------------------------
return $end_data . \'</form>\';
如果不能修改窗体类的代码,可以使用wp_nonce_field 并使用任何适当的PHP方法将其插入到表单字符串中。例如,使用substr_replace.

结束