问题描述
更新:刚刚发现这个插件,做了我想要和更多:https://wordpress.org/plugins/b09-link-to-existing-content/faq
我拉着我的头发,这似乎很简单,但在 WP(我可以找到) 没有简单的方法,没有插件,将做以下:
在一篇文章中,我想选择一些文本,然后在我的媒体库中添加一个现有 (全尺寸) 图像的链接。我不想在我的帖子中插入图像。
我发现能够做到这一点的唯一方法是找到图像,复制文件链接,然后去插入/编辑 url 并粘贴它。应该有一种方法来找到它,就像找到页面或在同一个对话框中链接的帖子。 (或者也许有,我根本无法找到它,因为我是个白痴)
最佳解决方案
我找到了一个基于本页代码的解决方案:https://core.trac.wordpress.org/ticket/22180
所有附件文件的状态为’inherit’ 。所以首先你需要添加”inherit” 作为可能的帖子状态之一来搜索。您可以使用 wp_link_query_args 过滤器来做到这一点。
function my_wp_link_query_args( $query ) {
if (is_admin()){
$query['post_status'] = array('publish','inherit');
}
return $query;
}
add_filter('wp_link_query_args', 'my_wp_link_query_args');
默认情况下,您将获得的 URL 将是附件网址,而不是文件 url 。所以如果你需要文件 url,你可以使用过滤器 wp_link_query 过滤结果。
function my_modify_link_query_results( $results, $query ) {
foreach ($results as &$result ) {
if ('Media' === $result['info']) {
$result['permalink'] = wp_get_attachment_url($result['ID']);
}
}
return $results;
}
add_filter('wp_link_query', 'my_modify_link_query_results', 10, 2);
foreach 循环遍历所有结果,找到具有 Media 类型的结果,并使用文件 url 替换附件 URL 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。