有没有一种简单的方法,只需插入指向图像的链接(而无需插入图像)?

时间:2015-05-20 作者:Stephen

UPDATE 2018: 下面列出的插件不再适用于WP(我相信从4.5版开始),但公认答案中列出的代码仍然有效,因此请改用它。

更新:刚找到这个插件,它可以满足我的需要,还有更多:https://wordpress.org/plugins/b09-link-to-existing-content/faq

我正在用这个来做我的头发,它看起来很简单,但在WP中没有简单的方法(我可以找到),也没有插件可以做到以下几点:

在帖子中,我想选择一些文本,然后添加指向媒体库中现有(全尺寸)图像的链接。我不想在帖子中插入图像。

我发现能够做到这一点的唯一方法是找到图像,复制文件链接,然后转到插入/编辑url并将其粘贴到中。应该有一种方法可以找到它,就像在同一个对话框中找到要链接的页面或帖子一样。(也许有,但我就是找不到,因为我是个白痴。)

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

我找到了基于此页面代码的解决方案:https://core.trac.wordpress.org/ticket/22180

所有附件文件的post状态均为“继承”。因此,首先您需要添加“inherit”作为可能要搜索的帖子状态之一。您可以使用wp\\u link\\u query\\u 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。因此,如果需要文件url,可以使用filter wp\\u link\\u查询来过滤结果。

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循环遍历所有结果,找到具有某种媒体类型的结果,并用文件URL替换附件URL。

结束

相关推荐

Portable Post Links

我经常遇到这样的情况:我在一个临时域上开发一个站点,让我的客户在那里填充内容,然后在一切都得到批准后将其转移到生产环境中。现在,我的安装非常可移植(永久链接,资产都很好),并且我有特定于环境的配置,唯一不适应环境的是当客户端通过编辑器中的弹出窗口从另一篇文章链接到一篇文章时。这些链接似乎只是在HTML中硬编码的。有没有一种方法可以使这些链接相对于url,而无需我的客户端的努力?谢谢