Comment IP plugin-Fixed onFocus=‘this.select()’

时间:2020-07-24 作者:Moa Andersen

我正在使用一个旧插件,如果可能的话,我需要的帮助是查看;“错误”;我要走了。

无论是谁发表的评论,我得到的都是:onfocus=\'this.select()\'

我没有能力解决这个问题,所以,如果有人能帮忙,我很感激。

This is the full code:

defined(\'ABSPATH\') or exit;
add_action( \'load-edit-comments.php\', array ( \'Track_Comment_IP_Column\', \'init\' ));
class Track_Comment_Column{
protected $col = \'\';
protected $filters = array ();
protected $header = \'\';
protected $orderby = \'\';
public static function init(){
new self;
}
public function __construct(){
foreach ( $this->filters as $filter => $function ){
add_filter( $filter, array ( $this, $function ), 10, 99 );
}}
public function set_column_header_name( $headers ){
return array_merge( $headers, array ( $this->col => $this->header ) );
}
public function set_sort_parameter( $cols ){
return array_merge( $cols, array ( $this->col => $this->orderby ) );
}
public function show_cell( $column_name, $id ){
$this->col == $column_name and $this->print_cell_markup( $id );
}
protected function print_cell_markup( $id ){
print \'Extend me in a separate class!\';
}}
class Track_Comment_IP_Column extends Track_Comment_Column{
protected $col = \'ip\';
protected $filters = array(
\'manage_edit-comments_columns\' => \'set_column_header_name\',
\'manage_edit-comments_sortable_columns\' => \'set_sort_parameter\',
\'manage_comments_custom_column\' => \'show_cell\',
\'query\' => \'fix_ip_order\'
);
protected $header  = \'IP Address\';
protected $orderby = \'comment_author_IP\';
public static function init(){
new self;
}
public function fix_ip_order( $q ){
return str_replace( $this->orderby, "INET_ATON($this->orderby)", $q );
}
protected function print_cell_markup( $id ){
$ip = get_comment_author_IP( $id );
$out = "<input size=15 value=$ip onfocus=\'this.select()\'>
<br><a href=\'https://whatismyipaddress.com/ip/$ip\' target=\'_blank\'>Look up IP</a>";
print $out;
}}

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

您没有在此行的HTML属性周围加引号:

$out = "<input size=15 value=$ip onfocus=\'this.select()\'>
它需要:

$out = "<input size=\'15\' value=\'$ip\' onfocus=\'this.select()\'>