open all .docs in word online

时间:2013-04-10 作者:ameeromar

嘿,我正在努力让一切都好起来。文件/文件。xls/xlsx文件在office online中打开。

这意味着每个链接都指向一个。doc文件

http://mywebsite.com/wp-content/uploads.link.doc
必须指向office online预览链接

https://view.officeapps.live.com/op/view.aspx?src=http://mywebsite.com/wp-content/uploads/link.doc
我甚至不知道该怎么做?任何帮助都将不胜感激!

谢谢

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

我不确定这个问题是否与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,就像上面的过滤器中所做的那样。

结束

相关推荐

Expiring Unique URLs

所以前几天我想为客户的网站开发一个新功能。每次新访问者单击Wordpress中的特定按钮时的唯一下载URL整个过程是如何进行的:比如说,我的网站左侧小部件区域有一个按钮,上面写着“立即下载电子书”。-我需要将每个访问者重定向到一个唯一的URL(该URL将在x个时间后过期)-在单独的页面上,下载链接将正常提供您是否知道是否有插件或脚本可以处理这样的任务或其他解决方案来实现这一点?谢谢