【问题标题】:Fatal error when adding row-actions (Wordpress)添加行操作时出现致命错误(Wordpress)
【发布时间】:2016-03-17 10:37:53
【问题描述】:

我正在通过扩展类 WP_List_Table 创建一个表。但是当我想将“编辑”和“删除”操作添加到我的行中时,我确实收到了一个错误:

致命错误:不能使用 stdClass 类型的对象作为数组 C:\xampp\htdocs\norskeanalysisr\wp-content\plugins\aksjeanalysisr\aksjeanalysisr.php 在第 228 行

这就是我的函数的样子:

function column_col_name($item){
         $actions = array(
        'edit' => sprintf('<a href="?page=%s&action=%s& hotel=%s">Edit</a>',$_REQUEST['page'],'edit',$item['id']),
        'delete' => sprintf('<a href="?page=%s&action=%s&hotel=%s">Delete</a>',$_REQUEST['page'],'delete',$item['id']),
    );
    return sprintf('%1$s %2$s', $item['name'], $this->row_actions($actions) );
}

第 228 行是这个:'edit' =&gt; sprintf('&lt;a href="?page=%s&amp;action=%s&amp; hotel=%s"&gt;Edit&lt;/a&gt;',$_REQUEST['page'],'edit',$item['id']),

也许和$_REQUEST['page']有关?

感谢您的帮助!

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    你需要使用这样的东西

    'edit' =&gt; sprintf('&lt;a href="?page=%s&amp;action=%s&amp; hotel=%s"&gt;Edit&lt;/a&gt;', $_REQUEST['page'], 'edit',$item-&gt;id)

    【讨论】:

    • 但是当我现在点击“删除”时,我来到一个页面,上面说我无法访问这个页面。为什么会这样?
    • 您是从管理员账户还是用户账户登录?
    • 你也换了'delete' =&gt; sprintf('&lt;a href="?page=%s&amp;action=%s&amp;hotel=%s"&gt;Delete&lt;/a&gt;',$_REQUEST['page'],'delete',$item-&gt;id)
    • 你添加删除函数function process_bulk_action() { global $wpdb; if( 'delete'===$this-&gt;current_action() ) { $id = $_REQUEST['id']; $ids = ''; if(is_array($id)) { foreach($id as $k=&gt;$v) { $ids .= $v . ","; } $ids = substr($ids, 0, -1); } else { $ids = $id; } if($ids != '') { $wpdb-&gt;query( "DELETE FROM ".$wpdb->prefix."users` WHERE ID IN ($ids)" ); } } } `
    • 这个函数需要像$this-&gt;process_bulk_action();一样在查询函数中调用,你设置查询来获取记录
    【解决方案2】:

    你可以 var_dump($item) 吗? 我相信你的 $item 不是一个数组。 尝试使用 $item->name, $item->ID 代替 $item['name'], $item['id']

    如果你想从对象中获取一些属性,你需要使用

    $object->property 
    

    语法,而不是 $object['property']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-11
      • 2013-09-01
      • 2012-08-05
      • 2012-01-27
      相关资源
      最近更新 更多