向类别管理器添加字段。是否有方法可以获得类别编辑屏幕的链接?

时间:2011-01-31 作者:Scott B

此代码工作正常,只是想确保我可以将href硬编码到类别编辑屏幕,并使用。。。

"edit-tags.php?action=edit&taxonomy=category&post_type=post&tag_ID=\'.$cat_id.\'"
或者,是否有一种方法应该调用以动态获取类别编辑链接(以防调用发生更改)?

//add the filter in order to add custom columns to the category manager 
add_filter(\'manage_category_custom_column\', \'display_cat_columns\', 10, 3);

//This function outputs the custom category image onto each row of the category manager grid.
function display_cat_columns($arg1, $column_name, $cat_id){
  if (\'ce4_cat_image\' == $column_name) {
  return \'<a href="edit-tags.php?action=edit&taxonomy=category&post_type=post&tag_ID=\'.$cat_id.\'">get_category_thumbnail_admin($cat_id, \'thumbnail\').\'</a>\';}
}

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

内部使用的功能(自3.1起)为get_edit_term_link( $term_id, $taxonomy, $object_type = \'\' ). 源代码视图here.

还有一个函数edit_term_link 这将为您格式化链接输出。

内置函数可能更好地使用,因为它们检查用户功能等,并且更好地满足未来的兼容性。也就是说,我认为使用硬编码的url来实现向后兼容性是安全的。我不知道在以前的版本中是如何实现的,我想这些链接可能已经像您这样硬编码了。。。

Edit: 我很好奇在引入该函数之前做了什么,所以我查看了源代码。3.1之前,get_edit_tag_link( $tag_id, $taxonomy = \'post_tag\' ) 做了同样的事情-现在它只是重写为使用get_edit_term_link 内部。因此,如果您想支持所有最新版本的WordPress,请使用以下功能:

//add the filter in order to add custom columns to the category manager 
add_filter(\'manage_category_custom_column\', \'display_cat_columns\', 10, 3);

//This function outputs the custom category image onto each row of the category manager grid.
function display_cat_columns($arg1, $column_name, $cat_id){
  if (\'ce4_cat_image\' == $column_name) {
      if (function_exists (\'edit_term_link\'))
        return edit_term_link( get_category_thumbnail_admin($cat_id, \'thumbnail\'),
                \'\', \'\', $cat_id, false );
      else return \'<a href="\'.get_edit_tag_link($cat_id, \'category\').\'">\'.
                get_category_thumbnail_admin($cat_id, \'thumbnail\').\'</a>\';
  }
}

结束

相关推荐