$actions = array(
'EDIT' => sprintf('<a href="admin-ajax.php?action=%s&subaction=%s&course_id=%d" class="%s" id="%s">Edit</a>',
'abf_cm',
'edit_course',
$item['course_id'],
'thickbox edit-box',
'edit_'.$item['course_id']
),
'DELETE' => sprintf('<a href="?page=%s&task=%s&action=%s&bookid=%s&noheader=true">Delete</a>','course_management','do_process','delete',$item['course_id']),
);
这样做,编辑部分没有显示。我做错了什么。 我也尝试过使用占位符
'EDIT' => sprintf('<a href="admin-ajax.php?action=%1$s&subaction=%2$s&course_id=%4$d" class="%4$s" id="%5$s">Edit</a>',
'abf_cm',
'edit_course',
$item['course_id'],
'thickbox edit-box',
'edit_'.$item['course_id']
),
但仍然没有结果。 我还注意到,当我删除早期版本中的class和id属性时,它可以正常工作。
请你能给我一个令人满意的解释并告诉我我在哪里做错了。
编辑:
我在Wordpress中使用它来使用WP_List_Table类创建自定义表
function column_course_name($item ) {
//Build row actions
$actions = array(
'EDIT' => sprintf('<a href="admin-ajax.php?action=%s&subaction=%s&course_id=%d" class="%s" id="%s">Edit</a>',
'abf_cm',
'edit_course',
$item['course_id'],
'thickbox edit-box',
'edit_'.$item['course_id']
),
'DELETE' => sprintf('<a href="?page=%s&task=%s&action=%s&bookid=%s&noheader=true">Delete</a>','book_management','do_process','delete',$item['course_id']),
);
//Return the title contents
return sprintf('<a href="?page=book_management&action=viewnedit&bookid=%2$s">%1$s</a>%3$s',
/*$1%s*/ strlen($item['course_name'])>0?$item['course_name']:'<span style="color:silver">(No Name)</span>',
/*$2%s*/ $item['course_id'],
/*$3%s*/ $this->row_actions($actions) //row_actions is a method in this class
);
}
更新的 嗯,这很奇怪,但是当我使用单个类时(即当我删除标签的两个类之间的空间时)代码可以工作。
有什么想法吗?
答案 0 :(得分:0)
Dipesh,也许您在代码周围这个代码段中有错误。
尝试隔离检查您的代码。我将您的代码复制到单独的.php脚本中,设置很少,并使用$actions
检查print_r
数组,如下所示:
<强> edit_array.php 强>
<?php
$item = array();
$item['course_id'] = 1;
$actions = array(
'EDIT' => sprintf('<a href="admin-ajax.php?action=%s&subaction=%s&course_id=%d" class="%s" id="%s">Edit</a>',
'abf_cm',
'edit_course',
$item['course_id'],
'thickbox edit-box',
'edit_'.$item['course_id']
),
'DELETE' => sprintf('<a href="?page=%s&task=%s&action=%s&bookid=%s&noheader=true">Delete</a>','course_management','do_process','delete',$item['course_id']),
);
print_r($actions);
我从控制台运行此脚本并获得以下结果:
$ php edit_array.php
Array
(
[EDIT] => <a href="admin-ajax.php?action=abf_cm&subaction=edit_course&course_id=1" class="thickbox edit-box" id="edit_1">Edit</a>
[DELETE] => <a href="?page=course_management&task=do_process&action=delete&bookid=1&noheader=true">Delete</a>
)
$actions['EDIT']
的生成链接是HTML有效的,因此可以安全地断定您的代码本身运行正常,错误位于其他地方。