it-swarm.com.de

öffnen Sie alle .docs in Word online

Hey, ich versuche, alle .doc/docx .xls/xlsx-Dateien online in Office zu öffnen.

Dies würde bedeuten, dass jeder Link zu einer .doc

http://mywebsite.com/wp-content/uploads.link.doc

müsste stattdessen auf den Office Online Preview Link verweisen

https://view.officeapps.live.com/op/view.aspx?src=http://mywebsite.com/wp-content/uploads/link.doc

Ich bin mir nicht mal sicher, wie ich das machen soll? Jede Hilfe wäre sehr dankbar!

Vielen Dank!

1
ameeromar

Ich bin mir nicht sicher, ob diese Frage mit WordPress zusammenhängt. Es hört sich so an, als würde es über .htaccess redirect oder eine Browser-Erweiterung behandelt.

Das heißt: Sie könnten versuchen, den wp_get_attachment_url-Filter zu verwenden, der auf die URL angewendet wird, die von wp_get_attachment_url() zurückgegeben wird.

Zum Beispiel:

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' );

(Dies ist völlig ungetestet und nur als Beispiel dargestellt.)

Bearbeiten

a) Wie kann ich .docx, .xls, .xlsx hinzufügen?

Verlängern Sie einfach die Bedingung. Hier ist ein Beispiel, das der Klarheit halber abstrahiert wurde:

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) Kann ich anstelle des Ersetzens der URL einen Link neben dem normalen Download-Link mit der Aufschrift "online öffnen" und einem Link dazu hinzufügen?

Erstellen Sie einfach einen eigenen Link in Ihrer Vorlage und fügen Sie die Anhangs-URL an Ihre Basis-URL an, wie im obigen Filter beschrieben.

5
Chip Bennett