edit_bookmark_link()
云策文档标注
概述
edit_bookmark_link() 函数用于显示编辑书签链接的锚点内容,适用于 WordPress 开发者管理书签编辑界面。它接受多个参数来自定义链接文本和前后内容,并包含权限检查和过滤器钩子。
关键要点
- 函数输出编辑书签链接的 HTML 锚点,默认链接文本为“Edit This”。
- 参数包括 $link(锚文本)、$before(链接前内容)、$after(链接后内容)和 $bookmark(书签 ID),均支持默认值。
- 使用 current_user_can('manage_links') 检查用户权限,无权限时函数直接返回。
- 通过 apply_filters('edit_bookmark_link', $link, $bookmark->link_id) 钩子允许自定义链接锚点。
- 相关函数包括 get_edit_bookmark_link()、get_bookmark() 等,用于辅助书签操作。
代码示例
// 默认用法,显示编辑书签链接
edit_bookmark_link();
// 自定义链接文本和包装
edit_bookmark_link('编辑书签', '<p>', '</p>');注意事项
- 确保用户具有 'manage_links' 权限,否则链接不会显示。
- 参数 $bookmark 默认为当前书签,可指定书签 ID 以编辑特定书签。
- 函数直接输出内容,无返回值,适用于模板文件中直接调用。
原文内容
Displays the edit bookmark link anchor content.
Parameters
$linkstringoptional-
Anchor text. If empty, default is ‘Edit This’. Default empty.
$beforestringoptional-
Display before edit link. Default empty.
$afterstringoptional-
Display after edit link. Default empty.
$bookmarkintoptional-
Bookmark ID. Default is the current bookmark.
Default:
null
Source
function edit_bookmark_link( $link = '', $before = '', $after = '', $bookmark = null ) {
$bookmark = get_bookmark( $bookmark );
if ( ! current_user_can( 'manage_links' ) ) {
return;
}
if ( empty( $link ) ) {
$link = __( 'Edit This' );
}
$link = '<a href="' . esc_url( get_edit_bookmark_link( $bookmark ) ) . '">' . $link . '</a>';
/**
* Filters the bookmark edit link anchor tag.
*
* @since 2.7.0
*
* @param string $link Anchor tag for the edit link.
* @param int $link_id Bookmark ID.
*/
echo $before . apply_filters( 'edit_bookmark_link', $link, $bookmark->link_id ) . $after;
}
Hooks
- apply_filters( ‘edit_bookmark_link’, string $link, int $link_id )
-
Filters the bookmark edit link anchor tag.
Changelog
| Version | Description |
|---|---|
| 2.7.0 | Introduced. |
Skip to note 3 content
Codex
Default Usage
Displays edit bookmark link using defaults.
Skip to note 4 content
Codex
Displays Edit Bookmark in Paragraph Tag
Displays edit bookmark link, with link text “edit bookmark”, in a paragraph () tag.
', '</p>'); ?>