【发布时间】:2020-08-07 01:14:53
【问题描述】:
我想更改编辑帖子链接的 URL,以便将您定向到我自己的自定义编辑页面。我一直在寻找过滤器或函数,但我只能找到edit_post_link() 函数和get_edit_post_link() 函数。从documentation 可以看到,edit_post_link 仅更改链接文本,而不更改 URL。我相信get_edit_post_link 会为您获取 URL。
【问题讨论】:
标签: wordpress
我想更改编辑帖子链接的 URL,以便将您定向到我自己的自定义编辑页面。我一直在寻找过滤器或函数,但我只能找到edit_post_link() 函数和get_edit_post_link() 函数。从documentation 可以看到,edit_post_link 仅更改链接文本,而不更改 URL。我相信get_edit_post_link 会为您获取 URL。
【问题讨论】:
标签: wordpress
您需要向get_edit_post_link 添加过滤器。这是未经测试的,但类似于:
add_filter( 'get_edit_post_link', 'my_edit_post_link' );
function my_edit_post_link( $url, $post->ID, $context) {
$url = //However you want to generate your link
return $url;
}
【讨论】:
$post_id,而不是 $post->ID。另外,对 add_filter 的调用需要指定它应该接受三个参数,否则它默认为 1 并且不起作用。即add_filter( 'get_edit_post_link', 'my_edit_post_link', 10, 3 ); 参见working example, below,如果你碰巧仍然关心这个,五年后......
工作版本:
add_filter( 'get_edit_post_link', 'my_edit_post_link', 10, 3 );
function my_edit_post_link( $url, $post_id, $context) {
$url = "http://somethingerother.com/custom_post_editor.php?post=".$post_id; // Modify the URL as desired
return $url;
}
【讨论】: