откройте все.документы в word online
Эй, я пытаюсь открыть все файлы .doc/docx.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 answers
Я не уверен, что этот вопрос связан с WordPress. Похоже, что это может быть обработано с помощью перенаправления .htaccess
или расширения браузера.
Это говорит о том, что вы могли бы попытаться использовать фильтр wp_get_attachment_url
, который применяется к URL-адресу, возвращаемому wp_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' );
(Это полностью непроверенный и представленный только в качестве примера .)
Редактировать
A) как я могу добавить .docx, .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' );
Б) вместо замены URL-адреса могу ли я добавить ссылку рядом с обычной ссылкой для загрузки с надписью "открыть онлайн" со ссылкой на это?
Просто создайте свою собственную ссылку в шаблоне, добавив URL-адрес вложения к базовому URL-адресу, как это сделано в приведенном выше фильтре.