我不确定这个问题是否与WordPress有关。听起来好像可以通过.htaccess
重定向或浏览器扩展。
也就是说:您可以尝试使用wp_get_attachment_url
筛选器,该筛选器应用于返回的URLwp_get_attachment_url()
.
例如:
function wpse95271_filter_wp_get_attachment_url( $url ) {
if ( 0 === stripos( strrev( $url ), \'cod.\' ) ) {
// This is a Word doc; modify the URL
$url = \'https://view.officeapps.live.com/op/view.aspx?src=\' . $url;
}
return $url;
}
add_filter( \'wp_get_attachment_url\', \'wpse95271_filter_wp_get_attachment_url\' );
(这是
completely untested, 并以
example only.)
编辑a)如何添加。文档。xls。xlsx?
只需扩展条件。以下是一个为清晰起见而抽象的示例:
function wpse95271_filter_wp_get_attachment_url( $url ) {
// Using a simple ternary expression;
// there may be better ways, such as
// an array of doc extensions, and a
// foreach loop, etc
$is_msoffice_doc = (
0 === stripos( strrev( $url ), \'cod.\' ) ||
0 === stripos( strrev( $url ), \'xcod.\' ) ||
0 === stripos( strrev( $url ), \'slx.\' ) ||
0 === stripos( strrev( $url ), \'xslx.\' ) ? true : false
);
if ( $is_msoffice_doc ) {
// This is an Office doc; modify the URL
$url = \'https://view.officeapps.live.com/op/view.aspx?src=\' . $url;
}
return $url;
}
add_filter( \'wp_get_attachment_url\', \'wpse95271_filter_wp_get_attachment_url\' );
b)我是否可以在普通下载链接旁边添加一个链接,上面写着“在线打开”,而不是替换url?
只需在模板中构建自己的链接,将附件URL附加到基本URL,就像上面的过滤器中所做的那样。