最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Comment IP Plugin - Fixing onfocus='this.select()'

programmeradmin5浏览0评论

I'm the process of getting an old plugin to work and what I need help with, if possible, is to review the "error" I'm getting.

No matter from who the comment is made, all I get is this: onfocus='this.select()'

I'm not good enough to fix this and so, if anyone can help I appreciate it.

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='/$ip' target='_blank'>Look up IP</a>";
print $out;
}}

I'm the process of getting an old plugin to work and what I need help with, if possible, is to review the "error" I'm getting.

No matter from who the comment is made, all I get is this: onfocus='this.select()'

I'm not good enough to fix this and so, if anyone can help I appreciate it.

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/ip/$ip' target='_blank'>Look up IP</a>";
print $out;
}}
Share Improve this question asked Jul 24, 2020 at 8:30 Moa AndersenMoa Andersen 154 bronze badges 1
  • Can you indent the code? It's super difficult to read withoout indentation :( – Tom J Nowell Commented Jul 24, 2020 at 9:26
Add a comment  | 

1 Answer 1

Reset to default 1

You haven't put quotes around the HTML attributes on this line:

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

It needs to be:

$out = "<input size='15' value='$ip' onfocus='this.select()'>
发布评论

评论列表(0)

  1. 暂无评论