Php 在自定义wordpress小部件中使用foreach转义并为输入赋值
我有这段代码,它是从我为自定义wordpress主题开发的自定义小部件中提取的。 我对代码有一个问题,这是因为我想通过使用wordpress中内置的Php 在自定义wordpress小部件中使用foreach转义并为输入赋值,php,wordpress,Php,Wordpress,我有这段代码,它是从我为自定义wordpress主题开发的自定义小部件中提取的。 我对代码有一个问题,这是因为我想通过使用wordpress中内置的esc\uz函数使用foreach循环来转义这些值。 我面临的问题是,如果我尝试使用$instance[$key]检查是否设置了值,如果var\u dump我将看到数组中各个键的值,而不是键本身,因此我无法将键分配给$instance变量。 我还想使用$key来设置相对变量,如我的代码中后面使用的$title和$claime。 我怎样才能解决这个问题
esc\uz
函数使用foreach循环来转义这些值。
我面临的问题是,如果我尝试使用$instance[$key]
检查是否设置了值,如果var\u dump
我将看到数组中各个键的值,而不是键本身,因此我无法将键分配给$instance变量。
我还想使用$key来设置相对变量,如我的代码中后面使用的$title
和$claime
。
我怎样才能解决这个问题
更清楚地说,我期望的是:
$instance = array( 'title' => 'lorem', 'claime' => 'ipsum' );
foreach( $instance as $key => $val ){
// here the key I need is title so $instance[$key] needs to be $instance['title'] and $key become the $title variable.
$key = isset( $instance[$key] )? esc_attr( $instance[$key] ) : '';
}
我的实际代码是:
foreach( $instance as $key => $val ){
if( $key === 'text' ){
$text = isset( $instance['text'] )? wp_kses( $instance['text'], $this->allowed ) : '';
}
#$key = isset( $instance[$key] ) ? esc_attr( $instance[$key] ) : '';
}
如果要从数组键创建新变量,可以使用php的提取函数:
但不要在包含用户输入的数组上使用此选项。我可能在这里遗漏了一些内容。。。但是为什么要检查$instance['text']是否已设置?如果未设置,则$key==='text'将永远不会为真!?
<?php
$var_array = array("color" => "blue", "size" => "medium");
extract( $var_array );
echo $color, $size; // blue medium
?>